HELPLIB.HLB  —  DCE  DCE_IDL
  NAME
         idl - Invokes the Interface Definition Language (IDL)
               compiler [required for developing distributed DCE
               applications]

  SYNOPSIS
         idl filename [argument] ...

  RELATED INFORMATION

     Books:  OSF DCE Application Development Guide.

1  –  ARGUMENTS

1.1  –  -client

   -client file_type

   Determines which client files to generate.  If you do not specify
   this argument, the compiler generates all client files.  The file
   types are as follows:

   none Does not generate client files.

   stub Generates only a client stub file.

   aux  Generates only a client auxiliary file.  A client auxiliary
        file is generated only if the interface contains any out-of-
        line or self-pointing types.

   all  Generates client stub and client auxiliary files.  This is the
        default and is the same as not specifying the -client argument.

1.2  –  -server

   -server file_type

   Determines which server files to generate.  If you do not specify
   this argument, the compiler generates all server files.  The file
   types are as follows:

   none Does not generate server files.

   stub Generates only a server stub file.

   aux  Generates only a server auxiliary file.  A server auxiliary
        file is generated only if the interface contains any out-of-
        line, self-pointing, or pipe types.

   all  Generates server stub and server auxiliary files.  This is the
        default and is the same as not specifying the -server argument.

1.3  –  -standard

   -standard standard_type

   Allows you to specify portable or extended features of the OSF DCE.
   This option is useful when you perform builds.  The standard_type
   argument specifies what IDL features to enable.  If you do not
   specify this argument, the compiler generates warning messages for
   all features that are not available in the previous version of OSF
   DCE.

   You can specify one of the following values for the standard_type
   argument:

   portable     Allows only the language features available in OSF DCE
                Version 1.0.2.

   dce_v10      Synonymous with the portable argument.

   dec_v10      Allows all language features supported by the standard
                dce_v10 argument, plus a set of HP extensions to
                its products based on OSF DCE Version 1.0.

   extended     Allows all language features supported in the current
                version of the compiler.  This is the default.

   dce_v11      Synonymous with the extended argument.

   The following example command line compiles the IDL interface test.idl
   and enables extended features of the OSF DCE:

        $ idl test.idl -standard extended

1.4  –  -cstub

   -cstub filename

   Specifies a pathname for the client stub file.  When you give a
   filename, do not give a file extension; the idl compiler appends .c
   to the C source file and .o to the object file.  If you do not use
   the -cstub argument, the idl compiler appends _cstub.c to the C
   source file and _cstub.o to the object file.  If the -lang cxx
   option is used, the source file will have the .cxx extension.

1.5  –  -sstub

   -sstub filename

   Specifies a pathname for the server stub file.  When you give a
   filename, do not give a file extension; the idl compiler appends .c
   to the C source file and .o to the object file.  If you do not use
   the -sstub argument, the idl compiler appends _sstub.c to the C
   source file and _sstub.o to the object file.  If the -lang cxx
   option is used, the source file will have the .cxx extension.

1.6  –  -caux

   -caux filename

   Specifies a pathname for the client auxiliary file.  When you give a
   filename, do not give a file extension; the idl compiler appends .c
   to the C source file and .o to the object file.  If you do not use
   the -caux argument, the idl compiler appends _caux.c to the C
   source file and _caux.o to the object file.  If the -lang cxx option
   is used, the source file will have the .cxx extension.

1.7  –  -saux

   -saux filename

   Specifies a pathname for the server auxiliary file.  When you give a
   filename, do not give a file extension; the idl compiler appends .c
   to the C source file and .o to the object file.  If you do not use
   the -caux argument, the idl compiler appends _saux.c to the C
   source file and _saux.o to the object file.  If the -lang cxx option
   is used, the source file will have the .cxx extension.

1.8  –  -header

   -header header_file

   Allows you to specify a name for the generated header file.  By
   default the compiler takes the basename of the IDL file and appends
   the .h extension to it.

1.9  –  -out

   -out directory

   Places the output files in the directory you specify.  By default
   the compiler places the output files in the current working
   directory.

1.10  –  -Idirectory

   -Idirectory

   Specifies a directory name that contains imported interface
   definition files.  You can specify more than one directory by
   specifying additional -Idirectory arguments on the command line.
   The compiler searches the directories in the order you list them.
   If a file is present in more than one directory, the compiler takes
   the first occurrence of the file.  The default behavior of the
   compiler is to first search the current directory, then all
   directories you specify, then the system IDL directory.  The
   directory you specify is also passed to the C preprocessor and the
   C compiler.

1.11  –  -no_def_idir

   -no_def_idir

   Specifies that the compiler search only the current directory for
   imported files.  When you use this with -Idirectory, the compiler
   searches only the directories you list, not the current directory,
   and not the system IDL directory.

1.12  –  -no_mepv

   -no_mepv

   Causes the compiler to not generate a manager entry point vector
   (EPV) in the server stub.  Use this argument if the manager code and
   IDL file do not use the same operation names.  If you specify this
   argument you must provide an EPV within the manager code that can
   be used when the interface is registered with the RPC server
   runtime.  The name of the type that you construct an EPV with is
   if_name_vmajor-version_minor-version_epv_t where if_name is the
   interface name.  It is not necessary to use this argument if the
   operation names in the manager code and IDL file are the same.  In
   this case, the compiler generates a manager EPV in the server stub
   using the names of the operations in the IDL file.  (For
   information on registering the server, see the rpc_intro and
   rpc_server_register_if reference pages.  See the OSF DCE
   Application Development Guide.)

1.13  –  -cepv

   -cepv

   Generates local routines in the client stub file (filename_cstub.c)
   and defines a Client Entry Point Vector (CEPV) of the name
   if_name_vmajor-version_minor-version_c_epv where if_name is the
   interface name. The CEPV contains the addresses of the local
   routines. The client code must call the routines indirectly by
   using the addresses in the CEPV; otherwise, the stub routines in
   the client stub file must have the same names as the operations in
   the IDL file. (For information on registering the server, see the
   rpc_intro and rpc_server_register_if reference pages.  See the OSF
   DCE Application Development Guide.)

1.14  –  -cpp_cmd

   -cpp_cmd 'c_preprocessor_command_line'

   Allows you to specify a C preprocessor other than the default.  The
   compiler invokes the C preprocessor found in that command line.  The
   output of the C preprocessor is an expanded version of the input
   file(s) containing replacement text for any preprocessor directives
   (for example, the #include preprocessor directive).

1.15  –  -cpp_opt

   -cpp_opt 'command_options'

   Specifies additional options to be passed to the C preprocessor.
   You can add options to the command line used to invoke the C
   preprocessor independent of the -cpp_cmd argument.  The IDL compiler
   concatenates the -cpp_cmd, -cpp_opt, -D, -U, -I arguments and the
   source filename into a command used to invoke the C preprocessor.
   The compiler repeats this process for each Attribute Configuration
   File (ACF) and IDL file.

1.16  –  -no_cpp

   -no_cpp

   Does not invoke the C preprocessor.  Note that the C preprocessor
   must be run on files that contain preprocessor directives (such as
   #include) in the interface definition.

1.17  –  -cc_cmd

   -cc_cmd 'command_line'

   Invokes the C compiler and compiler options you specify in the
   'command_line' argument rather than the default C compiler and
   compiler options.  When used with the -lang cxx option, the -cc_cmd
   option specifies the C++ compiler.

1.18  –  -cc_opt

   -cc_opt 'command_options'

   Specifies additional options to be passed to the C compiler.  You
   can add options to the command line used to invoke the C compiler
   independent of the -cc_cmd argument.  The IDL compiler concatenates
   the -cc_cmd, -cc_opt, -I arguments and the source filename into a
   command that invokes the C compiler.  This procedure is done for
   each generated stub or auxiliary file.  When used with the -lang
   cxx option, the -cc_opt option specifies the C++ compiler options.

1.19  –  -Dname

   -Dname[=definition]

   Defines a symbol name and an optional value to be passed to the C
   preprocessor.  You can use this method of defining a symbol instead
   of using #define in the source code.  You can use more than one
   -Dname argument on the command line.  This argument has no effect if
   you use the -no_cpp argument.

1.20  –  -Uname

   -Uname

   Removes (undefines) any initial definition of a symbol name as
   defined by -Dname.  You can use this method to remove a symbol name
   instead of using #undef in the source code.  You can use more than
   one -Uname argument on the command line.  This argument has no
   effect if you use the -no_cpp argument.  If you define and undefine
   a name on the same command line, undefining takes precedence.

1.21  –  -space_opt

   -space_opt

   Generates code for the marshalling and unmarshalling of data that
   is optimized for space, rather than speed.

1.22  –  -syntax_only

   -syntax_only

   Checks only the syntax of the IDL file, but does not generate any
   output files.

1.23  –  -keep

   -keep file_types

   Specifies which files to retain.  To produce the object modules,
   the IDL compiler first creates C source modules, then invokes the
   target C compiler to produce object modules, and finally, deletes
   the C source modules.  If you do not use -keep, only the object
   modules are saved.

   The file types are as follows:

   none      Does not save the C source or the object modules.  Does
             not invoke the C compiler.

   c_source  Saves only the C source modules. Does not invoke the C
             compiler.

   object    Saves only the object modules.

   all       Saves both the C source and the object modules.

1.24  –  -bug

   -bug n
   -no_bug n

   Retains (-bug) or does not retain (-no_bug) a specified bug from
   earlier IDL compiler versions.  (This in an NCS compatibility
   argument and is not supported in OSF DCE Version 1.1).

1.25  –  -stdin

   -stdin

   Takes the standard output of a previous utility as the input to the
   idl command. For example:

                $ pipe type my_filename.idl | idl -stdin

1.26  –  -version

   -version

   Displays the current version of the IDL compiler.

1.27  –  -v

   -v

   Prints informational messages (verbose mode) on the screen while
   the compiler is running.

1.28  –  -no_warn

   -no_warn

   Suppresses compiler warning messages.

1.29  –  -confirm

   -confirm

   Displays all the idl command arguments you chose, but does not
   compile the source IDL file.  If you use this with the -v argument,
   informational messages about how the compiler behaves if you do not
   use -confirm are displayed but no corresponding actions are performed.

1.30  –  -template_client

   -template_client filename

   Requests that the IDL compiler generate a C source file containing
   a template implementation of each routine that must appear in the
   client application to use the specified IDL interface.  If you do
   not specify an extension for filename, the compiler assigns the
   file extension .c.

1.31  –  -template_manager

   -template_manager filename

   Requests that the IDL compiler generate a C source file containing
   a template implementation of each routine and operation that must
   appear in the manager module of the server side of an application
   to use the specified IDL interface.  If you do not specify an
   extension for filename, the compiler assigns the file extension .c.

1.32  –  -trace

   -trace value

   Enables event logging.  You can specify one of the following values
   for the value argument:

   all       Log all events.

   none      Disable all previously specified trace options.

   calls     Log events relating to start and end of all RPC calls.

   context   Log events relating to context handle creation, deletion,
             and rundown.

   errors    Log errors.

   misc      Log all miscellaneous events.

   log_manager
             Enable command interface support which allows modification
             at runtime of event logging options.

1.33  –  -lang

   -lang  {c, cxx, fortran}

   Allows you to select a programming language.

   If you are generating stubs and include files for application code
   written in C++, you must specify cxx as the language of choice when
   you compile the application's IDL file.  When appropriate, you can
   extend the class hierarchy and derive other classes from this one,
   to implement some or all interface operations.  The C++ compiler
   gives a warning if any functions in the interface class have not
   been implemented.  Avoid overwriting the manager class header file
   by using the -no_cxxmgr argument in conjunction with the -lang cxx
   argument.

   If you are generating stubs and include files for application code
   written in FORTRAN, you must specify FORTRAN as the language of
   choice when you compile the application's IDL file.

   If you do not specify -lang fortran or -lang cxx, the default value
   is the C programming language or -lang c.

1.34  –  -no_cxxmgr

   -no_cxxmgr

   Prevents the compiler from overwriting the manager class header
   file.   Use this argument in conjunction with the -lang cxx
   argument if you implement application-specific C++ code in the
   manager class header file.

2  –  DESCRIPTION

   The idl command invokes the IDL compiler to convert an interface
   definition, written in IDL, into output files. The output files include
   a header file, server stub file, client stub file, and auxiliary files.
   The compiler constructs the names of the output files by keeping the
   basename of the interface definition source file but replacing the
   filename extension with the new extension (or suffix and extension)
   appropriate to the newly generated type of output file.  For example,
   math.idl could produce math_sstub.c or math_sstub.o for the server stub.

   The idl command accepts the following input:

     +  An interface definition filename.

     +  Arguments to indicate either special actions to be performed by the
        compiler, or special properties of the input or output files.

   The IDL compiler searches through directories for any related ACF.
   For example, if you compile a file named source.idl, the compiler
   automatically searches for a file named source.acf.  The compiler also
   searches for any imported IDL file (and its related ACF).  The compiler
   searches for these files using the following order:

    1.  The current working directory.  The compiler always searches this
        directory unless you specify the -no_def_idir and -Idirectory
        arguments together.

    2.  Any imported directory.  The compiler searches each directory you
        are specifying in the -Idirectory argument.

    3.  The system IDL directory.   The compiler automatically imports
        nbase.idl, which resides in the system IDL directory.  The compiler
        always searches this directory unless you specify the -no_def_idir
        argument.

    4.  The directory specified in the source filename.  If you explicitly
        specify a directory in the source IDL pathname, then that directory
        is searched for the corresponding ACF.  For example,

             $ idl usera:[my_dir]my_source.idl

        causes the IDL compiler to look for usera:[my_dir]my_source.acf
        if my_source.acf is not found in the directories in 1,2 and 3.
        Note that this directory is not searched for any imported IDL file
        or its corresponding ACF.

   Restrictions

   The following filenames are reserved by the IDL compiler.  Naming an IDL
   file with one of these names may result in unexpected behavior.

            iovector.idl   lbase.idl      nbase.idl      ncastat.idl
            ndrold.idl     rpc.idl        rpcbase.idl    rpcpvt.idl
            rpcsts.idl     rpctypes.idl   twr.idl        uuid.idl

3  –  CAUTIONS

   The IDL compiler generates ANSI C code.  It also supports C compilers
   that are not fully ANSI compliant although a warning message may occur
   during compilation of the stubs by the C compiler.  A C compiler that
   is not fully ANSI compliant may generate the following warning messages:

     +  warning: & before array or function: ignored

     +  warning: enumeration type clash, operator =

4  –  FILES

   SYS$SYSTEM:DCE$IDL.EXE
                  IDL Compiler

   SYS$COMMON:[DCE$LIBRARY]
                  System IDL directory for imported files

   SYS$COMMON:[DCE$LIBRARY]NBASE.IDL
                  Predefined IDL types

   SYS$COMMON:[DCE$LIBRARY]file.ext
                  All .idl or .h files that are part of DCE RPC

5  –  EXAMPLES

    1.  Invoke the IDL compiler to compile the interface definition file
        test.idl and keep the generated C source modules.  Only server
        files are generated.  The server stub default filename is
        overridden by creating a file named test_ss.c for the server
        stub module.

             $ idl test.idl -keep c_source -client none -sstub test_ss.c

    2.  Invoke the IDL compiler to compile the interface definition file
        test.idl, but do not run the C preprocessor.  The manager entry
        point vector is not defined in the generated server stub module.
        The IDL compiler searches the parent directory of the current
        directory for any IDL files that test.idl could import.  The
        generated output files are located in the output subdirectory
        under the current directory.

             $ idl test.idl -no_cpp -no_mepv -I.. -out [.output]

6  –  DCL Command Interface

   The following is the DCL syntax for the IDL compiler.  Except where
   noted, IDL DCL commands are equivalent to the IDL universal command
   syntax documented in the idl section of the OSF DCE Application
   Development Reference.  See the Reference documentation for a
   complete description of the universal command syntax interface to
   the IDL compiler.

   NAME

    IDL  - Invokes the Interface Definition Language (IDL) Compiler

   SYNOPSIS

        IDL file-spec [qualifier]...

6.1  –  QUALIFIERS

6.1.1    /CLIENT_FILES

     /CLIENT_FILES [=(option[,...])]
     /NOCLIENT_FILES

        Specify one or more of the following options.

        ALL (default)
        [NO]AUXILIARY [=filename]
        NONE
        [NO]STUB [=filename]

        This qualifier is equivalent to the -client argument
        in the universal syntax.

6.1.2    /SERVER_FILES

      /SERVER_FILES [=(option[,...])]
      /NOSERVER_FILES

        Specify one or more of the following options:

        ALL (default)
        [NO]AUXILIARY [=filename]
        NONE
        [NO]STUB [=filename]

        This qualifier is equivalent to the -server argument
        in the universal syntax.

6.1.3    /STANDARD

      /STANDARD [=[NO]PORTABLE | DCE_V10 | DEC_V10 | EXTENDED ]
      /STANDARD=PORTABLE (default)

        This qualifier is equivalent to the -standard[standard_type]
        argument in the universal syntax.  This universal syntax
        argument is documented in the section of the HP DCE
        Product Guide that describes additional IDL command options.

6.1.4    /HEADER_FILE

      /HEADER_FILE = filename
      /HEADER_FILE=file_spec.H (default)

        This qualifier is equivalent to the -header header_file
        argument in the universal syntax.

6.1.5    /OUTPUT_DIRECTORY

      /OUTPUT_DIRECTORY [=directory]
      /NOOUTPUT_DIRECTORY (default)

        This qualifier is equivalent to the -out directory
        argument in the universal syntax.

6.1.6    /INCLUDE_DIRECTORY

      /INCLUDE_DIRECTORY [=(pathname [,...])] (default)
      /NOINCLUDE_DIRECTORY

        These qualifiers are equivalent to the -Idirectory
        and -no_def_idir arguments in the universal syntax.

6.1.7    /ENTRY_POINT_VECTOR

      /ENTRY_POINT_VECTOR [=(option[,...])]
      /NOENTRY_POINT_VECTOR
      /ENTRY_POINT_VECTOR=(NOCLIENT, MANAGER) (default)

        Specify one or more of the following options:

        ALL
        [NO]CLIENT
        [NO]MANAGER
        NONE

        This qualifier provides a function similar to those of the
        -cepv and -no_mepv arguments in the universal syntax.

        The /ENTRY_POINT_VECTOR command qualifier controls
        generation of the client and manager entry point vectors
        through the keywords CLIENT and MANAGER.  In the universal
        command syntax,  two separate idl options (-cepv and
        -no_mepv) control generation of the client and manager
        entry point vectors.

        The following example universal command syntax generates
        both client and server entry point vectors:

        $ idl fpe_server.idl -cepv

        The equivalent DCL command is as follows:

        $ idl fpe-server.idl /ENTRY_POINT_VECTOR=CLIENT,MANAGER

        If one or more options are specified, the DCL syntax
        requires you to specify all required options.  Options
        that are not listed are not enabled.

6.1.8    /PREPROCESS

      /PREPROCESS
      /NOPREPROCESS (default)

        These qualifiers are equivalent to the
        -cpp_cmd 'c_preprocessor_command_line' and -no_cpp
        arguments in the universal syntax.

6.1.9    /CC_COMMAND

      /CC_COMMAND [=command-line]
      /NOCC_COMMAND
      /CC_COMMAND="CC/G_FLOAT/STANDARD=NOPORTABLE" (default)

        This qualifier is equivalent to the -cc_cmd 'command_line'
        argument in the universal syntax.

6.1.10    /CC_QUALIFIERS

      /CC_QUALIFIERS [="command-qualifiers"]
      /NOCC_QUALIFIERS (default)

        This qualifier is equivalent to the -cc_opt 'command_options'
        argument in the universal syntax.

6.1.11    /DEFINE

      /DEFINE [=(identifier[=definition][,...])]
      /NODEFINE (default)

        This qualifier is equivalent to the -Dname[=definition]
        argument in the universal syntax.

6.1.12    /UNDEFINE

      /UNDEFINE [=(identifier[,...])]
      /NOUNDEFINE (default)

        This qualifier is equivalent to the -Uname argument
        in the universal syntax.

6.1.13    /OPTIMIZE

      /OPTIMIZE [=({SPEED | SPACE })]
      /OPTIMIZE = SPEED (default)

        This qualifier is equivalent to the -space_opt
        argument in the universal syntax.

6.1.14    /SYNTAX_ONLY

      /SYNTAX_ONLY
      /NOSYNTAX_ONLY (default)

        This qualifier is equivalent to the -syntax_only
        argument in the universal syntax.

6.1.15    /KEEP

      /KEEP [=option]
      /NOKEEP

        Specify one of the following options:

        ALL
        C_SOURCE
        NONE (equivalent to /NOKEEP)
        OBJECT (default)

        This qualifier is equivalent to the -keep file_types
        argument in the universal syntax.

6.1.16    /REPAIR

      /REPAIR [=(option[,...])]
      /NOREPAIR

        Specify one of the following options:

        [NO]BOOLEAN_CONSTANTS
        [NO]EXTRA_PAD_BYTES
        [NO]MISSING_PAD_BYTES
        ALL (default)
        NONE

        These qualifiers are equivalent to the -bug n and -no_bug n
        arguments in the universal syntax.  The values
        [NO]BOOLEAN_CONSTANTS, [NO]EXTRA_PAD_BYTES, and
        [NO]MISSING_PAD_BYTES correspond to -bug 1, -bug 2, and
        -bug 3 respectively in the universal syntax.

6.1.17    /VERSION

      /VERSION
      /NOVERSION (default)

        This qualifier is equivalent to the -version
        argument in the universal syntax.

6.1.18    /LOG

      /LOG
      /NOLOG (default)

        This qualifier is equivalent to the -v argument in
        the universal syntax.

6.1.19    /WARNINGS

      /WARNINGS (default)
      /NOWARNINGS

        This qualifier is equivalent to the -no_warn
        argument in the universal syntax.

6.1.20    /VERIFY

      /VERIFY
      /NOVERIFY (default)

        This qualifier is equivalent to the -confirm
        argument in the universal syntax.

6.1.21    /TRACE

      /TRACE [=(option[,...)]
      /NOTRACE

      Specify one or more of the following options:

   [NO]LOG_MANAGER
   EVENTS=({ALL|CALLS|CONTEXT_HANDLES|ERRORS|NONE|MISCELLANEOUS}[,...])
   /NOTRACE (default)

     This qualifier is equivalent to the -trace value argument in the
     universal syntax, which is documented in the HP DCE Product
     Guide.

6.1.22    /LANGUAGE

      /LANGUAGE [={CC | CXX | FORTRAN}]
      /LANGUAGE=CC (default)

        This qualifier is equivalent to the -lang argument in the
        universal syntax.

6.1.23    /DIAGNOSTICS

      /DIAGNOSTICS [=filename]
      /NODIAGNOSTICS (default)

        Specifies that a diagnostic file listing the errors reported
        by a compilation should be generated for LSE. If you do not
        specify a filename, the compiler uses the basename of the IDL
        file and appends the .DIA extension to it.

7  –  Event Logger

   NAME
         idl -trace - Starts the RPC Event Logger

   The idl -trace command enables event logging for an application
   interface.   The event logger records information about the
   following types of events:  interface calls, context handles,
   errors, event logging itself, and a miscellaneous group of events.

   SYNOPSIS
         idl file-spec -trace {arguments}

   ARGUMENTS

       all         Log all events

       none        Disable all previously specified trace options

       calls       Log events relating to start and end of all RPC calls

       context     Log events relating to context handle creation,
                   deletion, and rundown

       errors      Log errors

       misc        Log all miscellaneous events

       log_manager Enable command interface support which allows
                   modification at runtime of event logging options

   RELATED_INFORMATION

     "HP DCE for OpenVMS Alpha and OpenVMS I64 Product Guide"

7.1  –  DESCRIPTION

   The RPC Event Logger records event information in an event
   log, which can be directed to the terminal screen or to a file.

   Use the -trace universal syntax (or /TRACE DCL interface) to
   enable and modify event logging prior to linking the interface.
   After linking the interface, you can use the Log Manager command
   line interface (rpclm) or an OpenVMS symbol (RPC_LOG_FILE) to
   modify event logging options at runtime.

   The DCL interface to the event logger has the following syntax:

      /[NO]TRACE =(option[,...])

   Specify one or more of the following options:

    [NO]LOG_MANAGER
    EVENTS=({ALL|NONE|ERRORS|CALLS|CONTEXT_HANDLES|MISCELLANEOUS}[,...])

   RPC events are as follows:

       activate
                    A thread was assigned to process an RPC call on a
                    server, and the server stub has started
                    processing input arguments.  The Event Data field
                    of the event log contains the string binding of
                    the client application making the call.

       await_reply
                    The transmission of input arguments in a call
                    from a client application to a server has
                    completed.  The event is generated by the client
                    stub.  The client application is waiting for
                    output arguments from the server.

       call_end
                    A call from a client application is complete and
                    the client stub is returning to the caller.

       call_failure
                    A client stub terminated abnormally because
                    either an exception occurred or due to a failing
                    status.  The Event Data field of the event log
                    contains the error text associated with the
                    exception or RPC status code.

       call_start
                    A client application attempted to make a call to
                    a server.  The event is generated by the stub
                    within the client application.  The Event Data
                    field of the event log displays the string
                    binding of the server being contacted.

       client_ctx_created
                    A client application has allocated a context
                    handle on a particular server.  The Event Data
                    field of the event log contains the following
                    information about this event:

                       * The address representing the context handle in
                         the client address space (an opaque pointer)

                       * The UUID which can be used to identify the
                         corresponding context handle on the server

                       * The string binding of the server on which
                         the actual context resides

       client_ctx_deleted
                    The client application representation of a
                    context handle is being deleted to reflect the
                    deletion of the context handle on the server. The
                    Event Data field of the event log contains the
                    following information about this event:

                        * The address representing the context handle
                          in the client address space (an opaque pointer)

                        * The UUID which can be used to identify the
                          corresponding context handle on the server

                        * The string binding of the server on
                          which the actual context resided

       client_ctx_destroyed
                    A client application has destroyed the client
                    representation of a context handle through the
                    rpc_ss_destroy_client_context routine. The Event
                    Data field of the event log contains the
                    following information about this event:

                        * The address representing the context handle
                          in the client address space (an opaque pointer)

                        * The UUID which can be used to identify the
                          corresponding context handle on the server

                        * The string binding of the server on
                          which the actual context resided

       context_created
                    A new context handle was created on a server and
                    returned from the application manager routine.
                    The Event Data field of the event log contains
                    both the application value of the context handle
                    and the UUID assigned to represent this context
                    handle.

       context_deleted
                    A context handle on a server has been deleted by
                    the application manager routine. The Event Data
                    field of the event log contains both the
                    application value of the context handle and the
                    UUID assigned to represent this context handle.

       context_modified
                    A context handle on a server was returned from
                    the application manager routine with a value that
                    is different from its previous value. The Event
                    Data field of the event log contains both the
                    application value of the context handle and the
                    UUID assigned to represent this context handle.

       context_rundown
                    A context handle on a server was freed by the
                    context rundown procedure.  The Event Data field
                    of the event log contains both the application
                    value of the context handle and the UUID assigned
                    to represent this context handle.

       exception
                    An exception was detected in the server stub, and
                    the exception caused the call to terminate. The
                    Event Data field of the event log contains a text
                    description of the exception.

       internal_error
                    A failure occurred in the support routines that
                    manage the event logger. Check the Event Data
                    field of the event log for a description of the
                    cause of the event.  If the error does not seem
                    to indicate a transient network problem or an
                    environmental failure, report the failure in a
                    Software Performance Report (SPR).

       listening
                    The RPC Log Manager has started to listen for
                    rpclm commands.  The listening event is generated
                    by the portion of the RPC Log Manager built into
                    your application by the RPC run time when you
                    specify the -trace log_manager option on your IDL
                    compilation.  The RPC Log Manager services the
                    requests generated by the rpclm command.  You use
                    one of the string bindings from a listening event
                    to invoke the rpclm command interface.

       log_events
                    Event logging was modified through the Log
                    Manager command interface rpclm.  The Event Data
                    field of the event log contains the new set of
                    events being logged.

       log_file
                    Event logging was modified through the Log
                    Manager command interface rpclm.  The Event Data
                    field of the event log contains the new file name
                    for the event log.  If no file name is displayed,
                    events are being logged to the screen.

       log_start
                    A new event log was created or event logging was
                    resumed after being suspended by a user command
                    to the Log Manager command interface rpclm.  The
                    Event Data field in the event log contains a list
                    of event types being logged.

       log_stop     Event logging was stopped through the Log Manager
                    interface rpclm.

       manager_call
                    The server stub is about to call the application
                    manager routine.

       manager_return
                    Control has just returned from the application
                    manager routine to the server stub.

       rebind
                    A call from a client application to a server
                    failed. The Event Data field in the event log
                    shows the reason for the failure to contact the
                    server.  The event is generated by the stub
                    within the client application. The call failed on
                    an auto_handle operation and the client is
                    attempting to rebind to the next server.

        receive
                    Following the transmission of input arguments
                    from a client application call to a server, the
                    client received a reply and started processing
                    output arguments.

        receive_fault
                    The client received a fault indicating a failure
                    on the server.  The Event Data field of the event
                    log contains the RPC status that identifies the
                    failure.  All failures have fault codes which you
                    can find in the file ncastat.idl.  If the fault
                    code in the ncastat.idl file is too general (such
                    as "unspecified fault"), examine the server event
                    log for precise failure information.

        status_fail
                    A failure status was encountered in the server
                    stub. The Event Data field of the event log
                    describes the failure.

        terminate   The server thread has completed processing the call
                    and has terminated.

        transmit_fault
                    The server runtime is sending fault information
                    to the client application. The Event Data field
                    of the event log indicates the name of the fault
                    being sent.  The fault information in this field
                    is listed in the ncastat.idl file. The fault
                    information in this field may be less descriptive
                    than the information logged about the actual
                    error. (See the exception or status_fail events
                    in the event log to obtain precise failure
                    information.)

7.2  –  EXAMPLES

   Compile the binopwk interface and enable event logging for all
   events:

        $ idl binopwk.idl -trace all

   Compile the binopwk interface and enable event logging for errors:

        $ idl binopwk.idl -trace errors

   Compile the binopwk interface, enabling event logging for all
   events as well as enabling the log manager interface:

        $ idl binopwk.idl -trace all -trace log_manager

   The event logger universal interface has the following DCL command
   equivalents:

        -trace all                      /TRACE=EVENTS=ALL
        -trace log_manager              /TRACE=LOG_MANAGER
        -trace all -trace log_manager   /TRACE=(LOG_MANAGER,EVENTS=ALL)
        -trace errors -trace calls      /TRACE=EVENTS=(ERRORS,CALLS)

8  –  rpclm

    NAME

         rpclm - Starts the command line interface to the RPC Event
                 Logger Log Manager

    SYNOPSIS

         rpclm "listening event string binding"

    ARGUMENTS

         inquire         Inquire about the currently logged events and
                         determine the name of the active log file.

         log             Specify additional events to log: all,
                         none, calls, context, errors, or misc.

         unlog           Disable logging of the specified event types:
                         all, none, calls, context, errors, or misc.

         file            Change the output device or file to which events
                         are logged.

         quit            Terminate the rpclm session.

         help            Display a description of the rpclm command
                         interface commands.

8.1  –  DESCRIPTION

   The RPC Event Logger records information in an event log about
   application execution.  After enabling the Log Manager when you
   compile the interface, you can use the Log Manager command line
   options to modify event logging parameters at runtime.

   Follow these steps to enable the RPC Log Manager:

           1. Use the -trace log_manager option at IDL compilation time.
           2. Create the RPC_LOG_FILE symbol and assign it to a file
              name or to screen output.
           3. Execute the client or server process, or both.
           4. When the first call is made to an interface compiled
              with the -trace option, a listening event will be
              generated into the event log. Invoke the rpclm command
              interface by specifying the string binding from the
              listening event.

  EXAMPLES

   To enable the Log Manager, use the following syntax:

           $ idl file-name.idl -trace log_manager

   To invoke the rpclm command interface, specify the string binding
   from a listening event, as in the following example:

           $ rpclm ncacn_ip_tcp:16.31.48.144[3820]

  RELATED INFORMATION

     "HP DCE for OpenVMS Alpha and OpenVMS I64 Product Guide"
Close Help