Annotation of embedaddon/libiconv/man/iconv_open.3, revision 1.1
1.1 ! misho 1: .\" Copyright (c) Bruno Haible <bruno@clisp.org>
! 2: .\"
! 3: .\" This is free documentation; you can redistribute it and/or
! 4: .\" modify it under the terms of the GNU General Public License as
! 5: .\" published by the Free Software Foundation; either version 3 of
! 6: .\" the License, or (at your option) any later version.
! 7: .\"
! 8: .\" References consulted:
! 9: .\" GNU glibc-2 source code and manual
! 10: .\" OpenGroup's Single Unix specification http://www.UNIX-systems.org/online.html
! 11: .\"
! 12: .TH ICONV_OPEN 3 "January 24, 2009" "GNU" "Linux Programmer's Manual"
! 13: .SH NAME
! 14: iconv_open \- allocate descriptor for character set conversion
! 15: .SH SYNOPSIS
! 16: .nf
! 17: .B #include <iconv.h>
! 18: .sp
! 19: .BI "iconv_t iconv_open (const char* " tocode ", const char* " fromcode );
! 20: .fi
! 21: .SH DESCRIPTION
! 22: The \fBiconv_open\fP function allocates a conversion descriptor suitable
! 23: for converting byte sequences from character encoding \fIfromcode\fP to
! 24: character encoding \fItocode\fP.
! 25: .PP
! 26: The values permitted for \fIfromcode\fP and \fItocode\fP and the supported
! 27: combinations are system dependent. For the libiconv library, the following
! 28: encodings are supported, in all combinations.
! 29: .TP
! 30: European languages
! 31: .nf
! 32: .fi
! 33: ASCII, ISO\-8859\-{1,2,3,4,5,7,9,10,13,14,15,16},
! 34: KOI8\-R, KOI8\-U, KOI8\-RU,
! 35: CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131},
! 36: Mac{Roman,CentralEurope,Iceland,Croatian,Romania},
! 37: Mac{Cyrillic,Ukraine,Greek,Turkish},
! 38: Macintosh
! 39: .TP
! 40: Semitic languages
! 41: .nf
! 42: .fi
! 43: ISO\-8859\-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}
! 44: .TP
! 45: Japanese
! 46: .nf
! 47: .fi
! 48: EUC\-JP, SHIFT_JIS, CP932, ISO\-2022\-JP, ISO\-2022\-JP\-2, ISO\-2022\-JP\-1
! 49: .TP
! 50: Chinese
! 51: .nf
! 52: .fi
! 53: EUC\-CN, HZ, GBK, CP936, GB18030, EUC\-TW, BIG5, CP950, BIG5\-HKSCS,
! 54: BIG5\-HKSCS:2001, BIG5\-HKSCS:1999, ISO\-2022\-CN, ISO\-2022\-CN\-EXT
! 55: .TP
! 56: Korean
! 57: .nf
! 58: .fi
! 59: EUC\-KR, CP949, ISO\-2022\-KR, JOHAB
! 60: .TP
! 61: Armenian
! 62: .nf
! 63: .fi
! 64: ARMSCII\-8
! 65: .TP
! 66: Georgian
! 67: .nf
! 68: .fi
! 69: Georgian\-Academy, Georgian\-PS
! 70: .TP
! 71: Tajik
! 72: .nf
! 73: .fi
! 74: KOI8\-T
! 75: .TP
! 76: Kazakh
! 77: .nf
! 78: .fi
! 79: PT154, RK1048
! 80: .TP
! 81: Thai
! 82: .nf
! 83: .fi
! 84: TIS\-620, CP874, MacThai
! 85: .TP
! 86: Laotian
! 87: .nf
! 88: .fi
! 89: MuleLao\-1, CP1133
! 90: .TP
! 91: Vietnamese
! 92: .nf
! 93: .fi
! 94: VISCII, TCVN, CP1258
! 95: .TP
! 96: Platform specifics
! 97: .nf
! 98: .fi
! 99: HP\-ROMAN8, NEXTSTEP
! 100: .TP
! 101: Full Unicode
! 102: .nf
! 103: .fi
! 104: UTF\-8
! 105: .nf
! 106: .fi
! 107: UCS\-2, UCS\-2BE, UCS\-2LE
! 108: .nf
! 109: .fi
! 110: UCS\-4, UCS\-4BE, UCS\-4LE
! 111: .nf
! 112: .fi
! 113: UTF\-16, UTF\-16BE, UTF\-16LE
! 114: .nf
! 115: .fi
! 116: UTF\-32, UTF\-32BE, UTF\-32LE
! 117: .nf
! 118: .fi
! 119: UTF\-7
! 120: .nf
! 121: .fi
! 122: C99, JAVA
! 123: .TP
! 124: Full Unicode, in terms of \fBuint16_t\fP or \fBuint32_t\fP
! 125: (with machine dependent endianness and alignment)
! 126: .nf
! 127: .fi
! 128: UCS\-2\-INTERNAL, UCS\-4\-INTERNAL
! 129: .TP
! 130: Locale dependent, in terms of \fBchar\fP or \fBwchar_t\fP
! 131: (with machine dependent endianness and alignment, and with semantics
! 132: depending on the OS and the current LC_CTYPE locale facet)
! 133: .nf
! 134: .fi
! 135: char, wchar_t
! 136: .PP
! 137: When configured with the option \fB\-\-enable\-extra\-encodings\fP, it also
! 138: provides support for a few extra encodings:
! 139: .TP
! 140: European languages
! 141: .nf
! 142: CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
! 143: .fi
! 144: .TP
! 145: Semitic languages
! 146: .nf
! 147: .fi
! 148: CP864
! 149: .TP
! 150: Japanese
! 151: .nf
! 152: .fi
! 153: EUC\-JISX0213, Shift_JISX0213, ISO\-2022\-JP\-3
! 154: .TP
! 155: Chinese
! 156: .nf
! 157: .fi
! 158: BIG5\-2003 (experimental)
! 159: .TP
! 160: Turkmen
! 161: .nf
! 162: .fi
! 163: TDS565
! 164: .TP
! 165: Platform specifics
! 166: .nf
! 167: .fi
! 168: ATARIST, RISCOS\-LATIN1
! 169: .PP
! 170: The empty encoding name "" is equivalent to "char": it denotes the
! 171: locale dependent character encoding.
! 172: .PP
! 173: When the string "//TRANSLIT" is appended to \fItocode\fP, transliteration
! 174: is activated. This means that when a character cannot be represented in the
! 175: target character set, it can be approximated through one or several characters
! 176: that look similar to the original character.
! 177: .PP
! 178: When the string "//IGNORE" is appended to \fItocode\fP, characters that
! 179: cannot be represented in the target character set will be silently discarded.
! 180: .PP
! 181: The resulting conversion descriptor can be used with \fBiconv\fP any number
! 182: of times. It remains valid until deallocated using \fBiconv_close\fP.
! 183: .PP
! 184: A conversion descriptor contains a conversion state. After creation using
! 185: \fBiconv_open\fP, the state is in the initial state. Using \fBiconv\fP
! 186: modifies the descriptor's conversion state. (This implies that a conversion
! 187: descriptor can not be used in multiple threads simultaneously.) To bring the
! 188: state back to the initial state, use \fBiconv\fP with NULL as \fIinbuf\fP
! 189: argument.
! 190: .SH "RETURN VALUE"
! 191: The \fBiconv_open\fP function returns a freshly allocated conversion
! 192: descriptor. In case of error, it sets \fBerrno\fP and returns (iconv_t)(\-1).
! 193: .SH ERRORS
! 194: The following error can occur, among others:
! 195: .TP
! 196: .B EINVAL
! 197: The conversion from \fIfromcode\fP to \fItocode\fP is not supported by the
! 198: implementation.
! 199: .SH "CONFORMING TO"
! 200: POSIX:2001
! 201: .SH "SEE ALSO"
! 202: .BR iconv (3)
! 203: .BR iconvctl (3)
! 204: .BR iconv_close (3)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>