nidl(1ncs)nidl(1ncs)Namenidl - Network Interface Definition Language Compiler
Syntaxnidl filename [options]
Description
The compiler is for the Network Interface Definition Language (NIDL).
The filename argument is the pathname of an interface definition file,
written in the C syntax of NIDL.
The compiler generates a header file, a client stub file, a server stub
file, and a client switch file, all in C source code. The compiler
derives the names of these output files from filename by replacing the
suffix (the rightmost period and all subsequent characters) with exten‐
sions for the client stub, server stub, and client switch.
Options-confirm Display the options chosen but do not compile any‐
thing. In displaying information about -idir, the
compiler constructs the list of all directories it
would use to resolve relative pathnames of imported
files, not just the ones explicitly supplied. (If
the list is empty, the compiler uses only the cur‐
rent directory.) This option is useful for viewing
the `idir list' and for viewing the default values
for other options.
-cpp pathname Run the specified program instead of the default C
preprocessor. You can use the -confirm option to
view the default pathname.
-def def1 [def2 ...]
Pass the specified definitions to the C preproces‐
sor. A definition can take either of two forms:
symbol or symbol=value.
-exts cstub-ext,sstub-ext,cswtch-ext
Set the extensions that the compiler uses to name
the stub and switch files it generates. The text
strings cstub-ext, sstub-ext, and cswtch-ext must
be separated by commas, with no spaces; they are
used as extensions for the client stub, the server
stub, and the client switch, respectively. You can
use the -confirm option to view the defaults.
-f77c Generate client switch code that is compatible with
the ULTRIX compiler. The NIDL compiler appends an
underscore (_) character to the name of each client
switch routine, so that the routines can be called
from FORTRAN programs generated by the compiler.
-f77s Generate server stub code that is compatible with
the ULTRIX compiler. The NIDL compiler appends an
underscore (_) character to the name of each man‐
ager routine that the stub calls, so that the stub
can call routines generated by the compiler.
-idir directory1 [directory2 ...]
Use the specified directories as paths from which
to resolve relative pathnames of imported files.
The compiler generates an ordered list of these
directories. By default, it prepends to this list
your current working directory and appends the sys‐
tem directory. You can suppress this default by
supplying the -no_def_idir option.
-m Support multiple versions and multiple managers
within a single server. This option allows a
server to export more than one version of an inter‐
face (`multiple versions') and to implement an
interface for more than one type (`multiple man‐
agers').
The compiler appends the version number to the
interface name when it generates identifiers in the
stub and header files. For example, the interface
specifier for version 3 of the foobar interface
would be foobar_v3$if_spec.
The server for an interface compiled with -m must
use to register its managers. The server supplies
the name of a manager EPV to the manager code
defines this EPV. If the server supports objects
of several types, it must use to register each
object. These registrations enable the RPC runtime
library at the server host to dispatch incoming
requests to the correct manager.
If you do not specify either -m or its counterpart,
-s, the compiler assumes -s and issues a warning.
However, this default may be removed or changed in
future NIDL compilers. Even if your server exports
only one version of its interface and contains only
one manager, use the -m option, so that it will be
easy for you to incorporate multiple versions and
multiple managers later.
-no_cpp Do not run the C preprocessor on the input file.
If you specify this option, the NIDL compiler does
not interpret any C preprocessor statements (such
as statements) in the interface definition.
-no_def_idir Do not prepend the current working directory or
append the system directory to the list of directo‐
ries constructed from -idir arguments. If you
specify -no_def_idir without -idir, the compiler
resolves pathnames of imported files only relative
to the current working directory.
-no_stubs Do not generate any stub or switch files. The NIDL
compiler generates only header files and insert
files.
-no_warn Suppress warning messages.
-out directory Place the generated files in directory. The
default is the current working directory.
-s Allow a server to export only a single version of
an interface and to implement an interface for only
a single type. This option requests the behavior
of NIDL compilers before Version 1.5, which added
support for multiple versions and multiple inter‐
faces. (See the -m option.)
The server for an interface compiled with -s must
use to register its interfaces.
If you do not specify either -s or its counterpart,
-m, the compiler assumes -s and issues a warning.
However, this default may be removed or changed in
future NIDL compilers. Even if your server exports
only one version of its interface and contains only
one manager, use the -m option, so that it will be
easy for you to incorporate multiple versions and
multiple managers later.
-space_opt Reduce the size of generated stub code, possibly at
the expense of slower data marshalling.
-version Display the version number of the NIDL compiler but
do not compile anything or generate any output
files.
See Alsouuid_gen(3ncs)
DECrpc Programming Guide
nidl(1ncs)