Converter modules are optional modules; they are pushed onto a tty stream only if required. They are usually provided for internationalization purposes and perform various character mapping.
The nls module is a lower converter module that can be pushed onto a tty stream below the line discipline. The nls module ensures terminal mapping: it executes the mapping of input and output characters for nonstandard terminals (that is, for terminals that do not support the basic codeset ISO 8859 of the system).
The mapping rules are specified in two map files located in the /usr/lib/nls/termmap directory. The .in files contain the mapping rules for the keyboard inputs. The .out files contain the mapping rules for the display outputs. The files format is specified in the setmaps file format "setmaps File Format" in AIX Version 4.3 Files Reference.
The nls module is automatically pushed onto the tty stream by the setmaps command. This operation is usually done during the tty subsystem configuration, when the system starts up.
The uc_sjis and lc_sjis modules are converter modules that can be pushed onto a tty stream. They ensure codeset handling: they execute the conversion of multibyte characters between the shifted Japanese industrial standard (SJIS) format and the advanced Japanese EUC code (AJEC) format, supported by the line disciplines. They are needed when the user process and the hardware terminal uses the IBM-943 or IBM-932 code set.
AJEC is a Japanese implementation of the extended UNIX code (EUC) encoding method, which allows combination of ASCII, phonetic Kana, and ideographic Kanji characters. AJEC is a superset of UNIX Japanese industrial standard (UJIS), a common Japanese implementation of EUC.
Japanese-encoded data consist of characters from up to four code sets:
Code set | Contained characters |
---|---|
ASCII | Roman letters, digits, punctuation and control characters |
JIS X0201 | Phonetic Kana |
JIS X0208 | Ideographic Kanji |
JIS X0212 | Supplemental Kanji. |
AJEC makes use of all four code sets. SJIS makes use only of ASCII, JIS X0201, and JIS X0208 code sets. Therefore, the uc_sjis and lc_sjis modules convert:
The uc_sjis and lc_sjis modules are always used together. The uc_sjis upper converter is pushed onto the tty stream above the line discipline; the lc_sjis lower converter is pushed onto the stream below the line discipline. The uc_sjis and lc_sjis modules are automatically pushed onto the tty stream by the setmaps command and the setcsmap subroutine. They are also controlled by the EUC ioctl operations described in the eucioctl.h file in the AIX Version 4 Files Reference .
National Language Support Overview for Programming
The setmaps file format, eucioctl.h file
The setmaps command, setcsmap subroutine