summaryrefslogtreecommitdiff
path: root/buildrump.sh/src/usr.bin/rpcgen/rpcgen.1
diff options
context:
space:
mode:
Diffstat (limited to 'buildrump.sh/src/usr.bin/rpcgen/rpcgen.1')
-rw-r--r--buildrump.sh/src/usr.bin/rpcgen/rpcgen.1501
1 files changed, 0 insertions, 501 deletions
diff --git a/buildrump.sh/src/usr.bin/rpcgen/rpcgen.1 b/buildrump.sh/src/usr.bin/rpcgen/rpcgen.1
deleted file mode 100644
index d4e91d0d..00000000
--- a/buildrump.sh/src/usr.bin/rpcgen/rpcgen.1
+++ /dev/null
@@ -1,501 +0,0 @@
-.\" $NetBSD: rpcgen.1,v 1.24 2013/12/15 09:18:14 wiz Exp $
-.\" from: @(#)rpcgen.new.1 1.1 90/11/09 TIRPC 1.0; from 40.10 of 10/10/89
-.\" Copyright (c) 1988,1990 Sun Microsystems, Inc. - All Rights Reserved.
-.Dd December 14, 2013
-.Dt RPCGEN 1
-.Os
-.Sh NAME
-.Nm rpcgen
-.Nd Remote Procedure Call (RPC) protocol compiler
-.Sh SYNOPSIS
-.Nm
-.Ar infile
-.Nm
-.Op Fl AaBbILMNTv
-.Op Fl D Ar name Op =value
-.Op Fl i Ar size
-.Op Fl K Ar secs
-.Op Fl Y Ar pathname
-.Ar infile
-.Nm
-.Fl c Li |
-.Fl h Li |
-.Fl l Li |
-.Fl m Li |
-.Fl t Li |
-.Fl S\&c Li |
-.Fl S\&s
-.\" .Fl S\&m
-.Op Fl o Ar outfile
-.Op Ar infile
-.Nm
-.Op Fl s Ar nettype
-.Op Fl o Ar outfile
-.Op Ar infile
-.Nm
-.Op Fl n Ar netid
-.Op Fl o Ar outfile
-.Op Ar infile
-.Sh DESCRIPTION
-.Nm
-is a tool that generates C code to implement an
-.Tn RPC
-protocol.
-The input to
-.Nm
-is a language similar to C known as
-.Tn RPC
-Language (Remote Procedure Call Language).
-.Nm
-is normally used as in the first synopsis where
-it takes an input file and generates up to four output files.
-If the
-.Ar infile
-is named
-.Pa proto.x ,
-then
-.Nm
-will generate a header file in
-.Pa proto.h ,
-.Tn XDR
-routines in
-.Pa proto_xdr.c ,
-server-side stubs in
-.Pa proto_svc.c ,
-and client-side stubs in
-.Pa proto_clnt.c .
-With the
-.Fl T
-option,
-it will also generate the
-.Tn RPC
-dispatch table in
-.Pa proto_tbl.i .
-With the
-.Fl S\&c
-option,
-it will also generate sample code which would illustrate how to use the
-remote procedures on the client side.
-This code would be created in
-.Pa proto_client.c .
-With the
-.Fl S\&s
-option,
-it will also generate a sample server code which would illustrate how to write
-the remote procedures.
-This code would be created in
-.Pa proto_server.c .
-.Pp
-The server created can be started both by the port monitors
-(for example,
-.Em inetd
-or
-.Em listen )
-or by itself.
-When it is started by a port monitor,
-it creates servers only for the transport for which
-the file descriptor 0 was passed.
-The name of the transport must be specified
-by setting up the environmental variable
-.Ev PM_TRANSPORT .
-When the server generated by
-.Nm
-is executed,
-it creates server handles for all the transports
-specified in
-.Ev NETPATH
-environment variable,
-or if it is unset,
-it creates server handles for all the visible transports from
-.Pa /etc/netconfig
-file.
-.Pp
-.Em Note :
-the transports are chosen at run time and not at compile time.
-When the server is self-started,
-it backgrounds itself by default.
-A special define symbol
-.Dv RPC_SVC_FG
-can be used to run the server process in foreground.
-.Pp
-The second synopsis provides special features which allow
-for the creation of more sophisticated
-.Tn RPC
-servers.
-These features include support for user provided
-.Li #defines
-and
-.Tn RPC
-dispatch tables.
-The entries in the
-.Tn RPC
-dispatch table contain:
-.Pp
-.Bl -inset -offset indent -compact
-.It +
-pointers to the service routine corresponding to that procedure,
-.It +
-a pointer to the input and output arguments,
-.It +
-the size of these routines
-.El
-.Pp
-A server can use the dispatch table to check authorization
-and then to execute the service routine;
-a client library may use it to deal with the details of storage
-management and
-.Tn XDR
-data conversion.
-.Pp
-The other three synopses shown above are used when
-one does not want to generate all the output files,
-but only a particular one.
-Some examples of their usage is described in the
-.Sx EXAMPLES
-section below.
-When
-.Nm
-is executed with the
-.Fl s
-option,
-it creates servers for that particular class of transports.
-When
-executed with the
-.Fl n
-option,
-it creates a server for the transport specified by
-.Em netid .
-If
-.Ar infile
-is not specified,
-.Nm
-accepts the standard input.
-.Pp
-The C preprocessor,
-.Xr cpp 1
-is run on the input file before it is actually interpreted by
-.Nm
-For each type of output file,
-.Nm
-defines a special preprocessor symbol for use by the
-.Nm
-programmer:
-.Bl -tag -width RPC_CLNT
-.It Dv RPC_HDR
-defined when compiling into header files
-.It Dv RPC_XDR
-defined when compiling into
-.Tn XDR
-routines
-.It Dv RPC_SVC
-defined when compiling into server-side stubs
-.It Dv RPC_CLNT
-defined when compiling into client-side stubs
-.It Dv RPC_TBL
-defined when compiling into
-.Tn RPC
-dispatch tables
-.El
-.Pp
-Any line beginning with
-.Sq %
-is passed directly into the output file,
-uninterpreted by
-.Nm .
-.Pp
-For every data type referred to in
-.Ar infile
-.Nm
-assumes that there exists a
-routine with the string
-.Dq xdr_
-prepended to the name of the data type.
-If this routine does not exist in the
-.Tn RPC/XDR
-library, it must be provided.
-Providing an undefined data type
-allows customization of
-.Tn XDR
-routines.
-.Sh OPTIONS
-.Bl -tag -width indent
-.It Fl A
-Generate an
-.Fn svc_caller
-function.
-.It Fl a
-Generate all the files including sample code for client and server side.
-.It Fl B
-Generate BSD cplusplus macros (__BEGIN_DECLS, __END_DECLS).
-.It Fl b
-Compile stubs in "backwards compatible" mode, disabling support for
-transport-independent RPC.
-The
-.Fl b
-should always be specified when generating files for
-.Nx ,
-since there is no transport-independent RPC support in
-.Nx .
-.It Fl c
-Compile into
-.Tn XDR
-routines.
-.It Fl D Ar name Ns Op Ar =value
-Define a symbol
-.Dv name .
-Equivalent to the
-.Dv #define
-directive in the source.
-If no
-.Dv value
-is given,
-.Dv value
-is defined as 1.
-This option may be specified more than once.
-.It Fl h
-Compile into C data-definitions (a header file).
-The
-.Fl T
-option can be used in conjunction to produce a
-header file which supports
-.Tn RPC
-dispatch tables.
-.It Fl I
-Support
-.Xr inetd 8
-in the server side stubs.
-Servers generated using this flag can either be standalone or
-started from
-.Xr inetd 8 .
-If a server is started as standalone, then it places itself
-in the background, unless
-.Dv RCP_SVC_FG
-is defined, or the server is compiled without
-.Fl I .
-.It Fl i Ar size
-Size to decide when to start generating inline code.
-The default size is 3.
-.It Fl K Ar secs
-By default, services created using
-.Nm
-wait 120 seconds
-after servicing a request before exiting.
-That interval can be changed using the
-.Fl K
-flag.
-To create a server that exits immediately upon servicing a request,
-.Dq Fl K No 0
-can be used.
-To create a server that never exits, the appropriate argument is
-.Dq Fl K No -1 .
-.Pp
-When monitoring for a server,
-some port monitors, like the
-.At V.4
-utility
-.Ic listen ,
-.Em always
-spawn a new process in response to a service request.
-If it is known that a server will be used with such a monitor, the
-server should exit immediately on completion.
-For such servers,
-.Nm
-should be used with
-.Dq Fl K No -1 .
-.It Fl L
-Server errors will be sent to syslog instead of stderr.
-.It Fl l
-Compile into client-side stubs.
-.Xr inetd 8 .
-.It Fl M
-Generate thread-safe stubs.
-This alters the calling pattern of client and
-server stubs so that storage for results is allocated by the caller.
-Note
-that all components for a particular service (stubs, client and service
-wrappers, etc.) must be built either with or without the
-.Fl M
-flag.
-.It Fl m
-Compile into server-side stubs,
-but do not generate a
-.Fn main
-routine.
-This option is useful for doing callback-routines
-and for users who need to write their own
-.Fn main
-routine to do initialization.
-.It Fl N
-Use the newstyle of
-.Nm .
-This allows procedures to have multiple arguments.
-It also uses the style of parameter passing that closely resembles C.
-So, when passing an argument to a remote procedure you do not have
-to pass a pointer to the argument but the argument itself.
-This behaviour is different from the oldstyle
-of
-.Nm
-generated code.
-The newstyle is not the default case because of backward compatibility.
-.It Fl n Ar netid
-Compile into server-side stubs for the transport
-specified by
-.Ar netid .
-There should be an entry for
-.Ar netid
-in the
-netconfig database.
-This option may be specified more than once,
-so as to compile a server that serves multiple transports.
-.It Fl o Ar outfile
-Specify the name of the output file.
-If none is specified,
-standard output is used
-.Po
-.Fl c Fl h Fl l
-.Fl m Fl n Fl s
-modes only
-.Pc
-.It Fl s Ar nettype
-Compile into server-side stubs for all the
-transports belonging to the class
-.Ar nettype .
-The supported classes are
-.Em netpath ,
-.Em visible ,
-.Em circuit_n ,
-.Em circuit_v ,
-.Em datagram_n ,
-.Em datagram_v ,
-.Em tcp ,
-and
-.Em udp
-[see
-.Xr rpc 3
-for the meanings associated with these classes.
-.Em Note :
-.Bx
-currently supports only the
-.Em tcp
-and
-.Em udp
-classes].
-This option may be specified more than once.
-.Em Note :
-the transports are chosen at run time and not at compile time.
-.It Fl S\&c
-Generate sample code to show the use of remote procedure and how to bind
-to the server before calling the client side stubs generated by
-.Nm .
-.It Fl S\&s
-Generate skeleton code for the remote procedures on the server side.
-You would need
-to fill in the actual code for the remote procedures.
-.\" .It Fl S\&m
-.\" Generate a sample Makefile that can be used to compile the application.
-.It Fl T
-Generate the code to support
-.Tn RPC
-dispatch tables.
-.It Fl t
-Compile into
-.Tn RPC
-dispatch table.
-.It Fl v
-Display the version number.
-.It Fl Y Ar pathname
-Specify the directory where
-.Nm
-looks for the C pre-processor.
-.El
-.Pp
-The options
-.Fl c ,
-.Fl h ,
-.Fl l ,
-.Fl m ,
-.Fl s ,
-and
-.Fl t
-are used exclusively to generate a particular type of file,
-while the options
-.Fl D
-and
-.Fl T
-are global and can be used with the other options.
-.Sh ENVIRONMENT
-If the
-.Ev RPCGEN_CPP
-environment variable is set, its value is used as the pathname of the
-C preprocessor to be run on the input file.
-.Sh NOTES
-The
-.Tn RPC
-Language does not support nesting of structures.
-As a work-around,
-structures can be declared at the top-level,
-and their name used inside other structures in
-order to achieve the same effect.
-.Pp
-Name clashes can occur when using program definitions,
-since the apparent scoping does not really apply.
-Most of these can be avoided by giving
-unique names for programs,
-versions,
-procedures and types.
-.Pp
-The server code generated with
-.Fl n
-option refers to the transport indicated by
-.Em netid
-and hence is very site specific.
-.Sh EXAMPLES
-The command
-.Pp
-.Bd -literal -offset indent
-$ rpcgen -T prot.x
-.Ed
-.Pp
-generates the five files:
-.Pa prot.h ,
-.Pa prot_clnt.c ,
-.Pa prot_svc.c ,
-.Pa prot_xdr.c
-and
-.Pa prot_tbl.i .
-.Pp
-The following example sends the C data-definitions (header file)
-to standard output.
-.Pp
-.Bd -literal -offset indent
-$ rpcgen -h prot.x
-.Ed
-.Pp
-To send the test version of the
-.Dv -DTEST ,
-server side stubs for
-all the transport belonging to the class
-.Em datagram_n
-to standard output, use:
-.Pp
-.Bd -literal -offset indent
-$ rpcgen -s datagram_n -DTEST prot.x
-.Ed
-.Pp
-To create the server side stubs for the transport indicated by
-.Em netid
-.Em tcp ,
-use:
-.Pp
-.Bd -literal -offset indent
-$ rpcgen -n tcp -o prot_svc.c prot.x
-.Ed
-.Sh SEE ALSO
-.Xr cpp 1 ,
-.Xr inetd 8
-.Sh HISTORY
-The
-.Fl M
-option was first implemented in RedHat Linux, and was reimplemented by
-Charles M. Hannum in
-.Nx 1.6 .