|
VMS Help DCE, DCE_TOOLS, csrc *Conan The Librarian |
NAME
csrc - Builds a DCE character and code set registry on a host
SYNOPSIS
csrc [argument] ...
ARGUMENTS
-i source_filename
Reads code set values from the source file you specify rather
than from the default code set registry source file
dce$common:[etc]code_set_registry.txt
-m intermediate_cs_name
Indicates the code set to be used as an intermediate code set
-o destination_filename
Places the generated code set registry file in the location
you specify rather than in the default location
dce$common:[etc]code_set_registry.db
DESCRIPTION
The Code Set Registry Compiler csrc creates a character and code set
registry file from the information supplied in a character and code
set registry source file.
A code set registry source file is composed of a series of code set
records. Each record describes, in human-readable form, the mapping
between an OSF-registered or (optionally) a user-defined unique code
set value and the character string that a given operating system uses
when referring to that code set (called the "local code set name").
A code set registry file is the binary version of the source file; the
DCE RPC routines for character and code set interoperability use the
file to obtain a client's or a server's supported code sets and to
translate between operating system-dependent names for code sets and
the unique identifiers assigned to them. A code set registry file must
exist on each host in an "internationalized" DCE cell (a DCE cell that
supports applications that use the DCE RPC character and code set
interoperability features).
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 the colon character (:) 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 or user-defined values must be in the range
0xf5000000 through 0xfffffff.
Here 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
GENERATING THE CODE SET REGISTRY FILE
DCE licensees use csrc to create licensee-supplied code set
registry files for their internationalized DCE product. Cell
administrators of internationalized DCE cells use the csrc
utility to create site-specific code set registry files for
each host in the cell. The cell administrator runs the csrc
program on each host in the cell.
When invoked without options, csrc uses the default source file
dce$common:[etc]code_set_registry.txt and creates the default
output file dce$common:[etc]code_set_registry.db. Use the -i
and -o options to redirect csrc to use a specific source file or
generate a specific output file. The csrc utility also generates
a log file named CSRC_LOG in the current directory.
ADDING INTERMEDIATE CODE SETS
Use the -m option to add a maximum of five intermediate code set
names to the code set registry file's intermediate code set priority
list. The order in which you specify intermediate code sets
determines their order of precedence in the list; that is, the first
intermediate code set you specify with -m becomes the first
intermediate code set in the priority list, and thus will be the
first code set used should an intermediate code set be required for
client-server communication. If you do not specify intermediate
code sets with -m, the Universal code set ISO 10646 will be used as
the default intermediate code set.
RESTRICTIONS
You need write permission to the dce$common:[etc] directory, which
usually requires privileges.
FILES
dce$common:[etc]code_set_registry.txt
Default pathname for code set registry source file.
dce$common:[etc]code_set_registry.db
Default pathname for code set registry object file
EXAMPLES
% csrc -i dia0:[test.i18n_app]code_set_registry.txt -
-o code_set_registry.db s
In the previous example, the log file CSRC_LOG is created in the current
working directory, testi18n_app.
RELATED INFORMATION
FUNCTIONS: dce_cf_get_csrgy_filename
dce_cs_loc_to_rgy
dce_cs_rgy_to_loc
rpc_rgy_get_codesets
BOOKS: OSF DCE Administration Guide
OSF DCE Application Development Guide-Core Components
|
|