------------------------------- Readme File for XHCS-SYS V02.2A ------------------------------- April 2012 This readme file for XHCS-SYS V02.2A contains changes to the following manual: XHCS V2.0A 8-Bit Code and Unicode Processing in BS2000/OSD User guide Edition March 2007 Order number U9232-J-Z135-5-76 A Page 1 ------------------ Table of Contents ------------------ 1 Chapter "Components and program interfaces" ............. Page 2 2 Macro NLSCOD ............................................ Page 4 3 Macro NLSCMP ............................................ Page 5 4 Macro NLSCNV ............................................ Page 8 5 Define additional Unicode characters ................... Page 9 6 Command /ADD-CODE-TABLES . .............................. Page 10 A Page 2 1 Chapter "Components and program interfaces" --------------------------------------------- Addition to page 29 in the manual: Since XHCS V2.2 the GNLMTAB module also contains the following: - The table with the assignments of the MIME names to the CCS names To every CCS which is known to XHCS at delivery a MIME name is assigned (MIME = Multipurpose Internet Mail Extensions), provided that the character set is registered at the IANA (Internet Assigned Numbers Authority). The character sets registered at the IANA are available at http://www.iana.org/assignments/character-sets In XHCS V2.2A the version from 4.11.2010 of this list has been used. In the XHCS table the MIME name denoted as "preferred MIME name" in the IANA list is used, provided that such a preferred MIME name is defined; otherwise the identifier specified under "Name:" is used as MIME name. A Page 3 The following character sets have been inserted into the XHCS table: XHCS CCS name | MIME name --------------+--------------------- EDF03IRV | OSD_EBCDIC_DF03_IRV EDF04F | OSD_EBCDIC_DF04_15 EDF041 | OSD_EBCDIC_DF04_1 --------------+--------------------- ISO646 | ISO_646.irv:1983 ISO8859F | ISO-8859-15 ISO88591 | ISO-8859-1 ISO88592 | ISO-8859-2 ISO88593 | ISO-8859-3 ISO88594 | ISO-8859-4 ISO88595 | ISO-8859-5 ISO88597 | ISO-8859-7 ISO88599 | ISO-8859-9 --------------+--------------------- NEW1252P | windows-1252 NEW646 | ISO_646.irv:1983 NEW8859F | ISO-8859-15 NEW88591 | ISO-8859-1 NEW88592 | ISO-8859-2 NEW88593 | ISO-8859-3 NEW88594 | ISO-8859-4 NEW88595 | ISO-8859-5 NEW88597 | ISO-8859-7 NEW88599 | ISO-8859-9 --------------+--------------------- UNICODE | UTF-16 UTF8 | UTF-8 UTF16 | UTF-16 --------------+--------------------- WCP1252P | windows-1252 --------------+--------------------- Please refer also to the description of the macro NLSCMP. A Page 4 2 Macro NLSCOD -------------- Hint to the return codes on pages 76 - 77 in the manual: If at system start a module GNLMTAB is used, which contains no Unicode tables, then the return code "name of the code unknown" will be returned, when one of the follwing specifications occurs: - CCSNAME = UNICODE or UTFE - TOCCS = UNICODE A Page 5 3 Macro NLSCMP -------------- Page 79 in the manual: New keyword *MIME-NAME for the operand INFO (only if operand CCSNAME has been specified, but not if operand ISOVAR has been specified): Macro call format: MF=L / S ,CCSNAME= <7-/8-bit-code> / / *SYSDEF / *USRDEF [,INFO= *LIST-OF-CCS / *ONLY-SPECIFIED-CCS / *REFERENCE-CODE / *MIME-NAME ] Page 81 in the manual: Description of the new keyword *MIME-NAME for the operand INFO = *MIME-NAME Only the entry for the specified CCS is provided. The INFO=*MIME-NAME operand is only permitted in conjunction with the CCSNAME operand. The same information is provided as in case of INFO=*ONLY-SPECIFIED-CCS , but additionally the so called "MIME name" of the character set is provided just like it is registered at the IANA (Internet Assigned Numbers Authority) at http://www.iana.org/assignments/character-sets (MIME = Multipurpose Internet Mail Extensions) If the character set specified by "CCSNAME = " doesn't exist in the IANA list, the new return code X'004000D0' will be provided. This applies e.g. to most of the EBCDIC character sets as well as to UTFE. A Page 6 Page 83 in the manual: Addition to the description of the output data: INFO = *LIST-OF-CCS / *ONLY-SPECIFIED-CCS / *REFERENCE-CODE The data component consists of a sequence of strings 10 bytes in length, of which the first 8 bytes contain the code name (CCSN). Byte 9 is set to the value ' ' providing the code is fully compatible with the corresponding ISO code variant ISO8859. If the compatibility of the code is restricted, the 9th byte contains a 'P' (see section "Grouping compatible codes" on page 115). The 10th byte of the 10-byte entries contains the type of code: Type of code Value ISO code 'I' (ISO) EBCDIC code 'E' (EBCDIC) UTF-16 'I' (ISO) UTF-8 'I' (ISO) UTFE 'E' (EBCDIC) INFO = *MIME-NAME Every entry has a length of 58 bytes and has the following structure: - Byte 0 - 9 The first 10 bytes of the output entry are built up in the same way as described above for INFO = *LIST-OF-CCS . - Byte 10 - 57 MIME name of the CCS The maximum length of 48 bytes has been defined arbitrarily. A Page 7 Addition to the notes on programming resp. to the return codes on pages 83 - 84 in the manual: If at system start a module GNLMTAB is used, which contains no Unicode tables, then * the return code "name of the code unknown" will be returned when CCSNAME = has been specified. * the list containing the names of all codes defined in the system will be provided without the three Unicode variants UTF-16, UTF-8 and UTFE when ISOVAR = *ALL has been specified. * new return code since XHCS V2.2A SUBCODE MAINCODE Meaning 2 1 2 1 X'00' X'40' X'00' X'D0' For the specified CCS there is no entry in the list of character sets registered at the IANA. A Page 8 4 Macro NLSCNV -------------- Addition to the notes on programming resp. the return codes on pages 105 - 109 in the manual: If at system start a module GNLMTAB is used, which contains no Unicode tables, then * the return code "name of the code unknown" will be returned when one of the follwing specifications occurs: - CCSNAME = or TOCCS = - ACTION = COMPOSE or DECOMPOSE or LENGTH * the return code "invalid specifications in the wildcard character specification" will be returned when DEFAULT = *STD or *UTF16 or *SPECIAL has been specified. A Page 9 5 Define additional Unicode characters -------------------------------------- Addition to linking in an extended code base on page 131 in the manual: Changes in the sort information for Unicode or in another Unicode table in the module GNLMTAB may only then linked dynamically to the system with the command /ADD-CODE-TABLES, when at system start a module GNLMTAB has been used, which contains no Unicode tables. Otherwise changes in the Unicode tables can only linked in at the start of the subsystem XHCS-SYS. Detailed information on linking in unicode tables can be found in "Addition to the programming notes on page 132 in the manual" in 5 Command /ADD-CODE-TABLES. A Page 10 6 Command /ADD-CODE-TABLES -------------------------- Addition to the programming notes on page 132 in the manual: Acception of Unicode tables: If the module GNLMTAB specified in the command /ADD-CODE-TABLES contains Unicode tables, then the following cases have to be distinguished: - At system start a module GNLMTAB has been used, which was assembled with macros from XHCS-SYS V02.0A (or a higher version), and which contains all Unicode tables (this is the case when using the released standard module GNLMTAB): In this case the Unicode tables from the module GNLMTAB specified in the command /ADD-CODE-TABLES are not accepted, because the command /ADD-CODE-TABLES can not be used to modify tables which are already existing in the system. - At system start a module GNLMTAB has been used, which was assembled with macros from XHCS-SYS V02.0A (or a higher version), but which contains no Unicode tables: In this case the Unicode tables from the module GNLMTAB specified in the command /ADD-CODE-TABLES are accepted, as long as they are complete. - At system start a module GNLMTAB has been used, which was assembled with macros from XHCS-SYS V01.5A (or a version less than V01.5A) and which contains no Unicode tables: In this case the Unicode tables from the module GNLMTAB specified in the command /ADD-CODE-TABLES are not accepted. If the module GNLMTAB specified in the command /ADD-CODE-TABLES does also contain some new 7-bit- or 8-bit-codes, then these codes are accepted even though the acception of the Unicode tables is rejected. A Page 11 Modification of the table with the assignments of the MIME names to the XHCS CCS names: A modification of the table with the assignments of the MIME names to the CCS names used by XHCS in the module GNLMTAB may be linked dynamically to the system with the command /ADD-CODE-TABLES only when a module GNLMTAB is used at system start which does not contain UNICODE tables. Otherwise a modification of this table may be linked only when the subsystem XHCS-SYS is started. Addition to the possible warnings on page 133 in the manual: - The Unicode tables contained in the module GNLMTAB are not accepted, because the are already available in the system. - The Unicode tables contained in the module GNLMTAB are not accepted, because they are incomplete. - The Unicode tables contained in the module GNLMTAB are not accepted, because the module GNLMTAB used at system start has a format from a XHCS-SYS version < V02.0A.