Library /sys$common/syshlp/HELPLIB.HLB  —  DCE  DCE_TOOLS, csrc
  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
Close Help