PreviousNext

Creating the Source File

Code set registry source files are created for input to csrc in two instances:

· By DCE licensees, when they are porting DCE to a specific operating system platform and plan for their DCE product to support internationalized DCE applications. In this instance, DCE licensees modify a template code set registry source file supplied on the DCE source tape to contain, for each code set that their platform supports, the local code set names for those supported code sets. Licensees can also add to this file any vendor-specific, non-OSF registered code set names and values that their platform supports.

· By cell administrators, when they are configuring machines that are part of an internationalized DCE cell. In this instance, the cell administrator adds the local code set names of any additional code sets that the site supports to the licensee-generated code set registry source file for each different operating system platform that exists in the cell. The cell administrator can also add to each platform-specific source file any site-specific, non-OSF registered code set names and values.

Each code set record specifies one code set, and has the following form:

start
field_list
end

where field_list consists of the following keyword-value or keyword-text pairs:

description text
A comment string that briefly describes the code set. The text field can contain multiple lines; use the backslash character (\\) to continue the line. Use this field to give a detailed description of the code set and character set(s).

loc_name text
A maximum 32-byte string (31 character data bytes plus a terminating NULL) that contains the operating system-specific name of a code set or the keyword NONE. Use this field to specify the name that your site uses to refer to this code set and the code set converters associated with it. For example, on UNIX platforms, code set converters are usually implemented under the iconv scheme. Check the iconv converter directory to determine the code set names.

rgy_value value
A 32-bit hexadecimal value that uniquely identifies this code set. A registry value can be one that OSF has assigned or one that a DCE licensee or cell administrator has assigned. Licensee or cell administrator-defined values must be in the range 0xf5000000 through 0xfffffff.

char_values value[:value]
One or more 16-bit hexadecimal values that uniquely identify each character set that this code set encodes. A character value can be one that OSF has assigned or one that a DCE licensee or a cell administrator has assigned. Use a colon (:) to separate multiple character set values.

max_bytes value
A 16-bit value that specifies the maximum number of bytes this code set uses to encode one character. The count should include any single-shift control characters, if used.

In the source file, braces ({ }) can be used as synonyms for the start and end keywords. Use one or more spaces or tabs to separate field names and values. An unquoted # (number sign) introduces a comment; in this case, the csrc utility ignores everything between the comment character and the end of the line.

The OSF DCE source tape provides a partial version of a code set registry source file in the file /usr/lib/nls/csr/code_set_registry.txt. This source file contains records for all OSF-registered code sets, and assigns the text string NONE to loc_name fields intended for modification to a local code set name.

DCE licensees who port DCE to their operating system platform and who plan to support internationalized DCE RPC applications must replace the NONE text string with their local name for the code set, for each code set that their operating system platform supports. If their platform does not support a given code set, they must leave the NONE keyword in the code set record.

Cell administrators of internationalized DCE cells carry out the same procedure on the licensee-supplied, platform-specific source files that exist at their site. For each platform-specific source file, they replace the NONE keyword with the local code set names for any site-specific supported code sets.

DCE licensees and cell administrators can also add vendor-specific or site-specific code set values that have not been registered with OSF. These vendor-specific or user-defined values must be in the range 0xf5000000 through 0xfffffff.

The following is an excerpt from the OSF-supplied code set registry source file:

start
description ISO 8859:1987; Latin Alphabet No. 1
loc_name NONE
rgy_value 0x00010001
char_values 0x0011
max_bytes 1
end

start
description ISO 8859-2:1987; Latin Alphabet No. 2
loc_name NONE
code_value 0x00010002
char_values 0x0012
max_bytes 1
end

start
description ISO 8859-3:1988; Latin Alphabet No. 3
loc_name NONE
code_value 0x00010003
char_values 0x0013
max_bytes 1
end

start
description ISO 8859-6:1987; Latin-Arabic Alphabet
loc_name NONE
code_value 0x00010006
char_values 0x0016
max_bytes 1
end

[...]

start
description ISO/IEC 10646-1:1993; UCS-2 Level 1
loc_name NONE
code_value 0x00010100
char_values 0x1000
max_bytes 2
end

[...]

start
description JIS eucJP:1993; Japanese EUC
loc_name NONE
code_value 0x00030010
char_values 0x0011:0x0080:0x0081:0x0082
max_bytes 3
end