The Remote Procedure Call (RPC) service provides connections between
individual procedures in an application across heterogeneous systems
in a transparent way.
o The process or daemon which maintains the local
endpoint map for RPC servers and looks up endpoints
for RPC clients is called DCE Daemon (DCED). It allows
client/server RPC applications to register their specific
endpoints. Registering endpoints allows remote clients of
the application to find the server application's entry
point on the system.
The DCE daemon can be started or stopped with the
command files DCE$RPC_STARTUP.COM and DCE$RPC_SHUTDOWN.COM,
which are located in SYS$COMMON:[SYSMGR].
o The rpccp control program accesses DCE$RPCCP.EXE, the RPC
control program. RPCCP also supports showing the elements
of the local endpoint map and removing elements from it.
1 – Admin Intro
intro
NAME
Introduction to the DCE daemon and RPC control program
commands
DESCRIPTION
RPC provides two administrative facilities, the DCE
daemon and the RPC control program.
o The DCE daemon is a process that provides the endpoint
map service, which maintains the local endpoint map for
local RPC servers and looks up endpoints for RPC
clients. An endpoint is the address of a specific
instance of a server executing in a particular address
space on a given system (a server instance). Each
endpoint can be used on a system by only one server at
a time.
An endpoint map is a database where servers register
their binding information, including endpoints, for
each of their RPC interfaces and the associated RPC
objects. Each combination of binding information,
interface identifier, and object UUID uses a distinct
element in the local endpoint map.
Running the DCE$RPC_STARTUP.COM procedure starts the
RPC daemon. The DCE$RPC_SHUTDOWN.COM procedure is used
to stop the RPC daemon.
o The control program provides a set of commands for managing
endpoint maps. The control program supports showing endpoint
map elements and removing any set of map elements from the
local endpoint map or from any remote endpoint map.
The rpccp command starts the RPC control program
(DCE$RPCCP.EXE).
EXIT VALUES
The RPC control program reports RPC error messages on the
command line. If the command executes successfully, the
value returned is 1 (one); otherwise, the value is an OpenVMS
DCE error status.
RELATED INFORMATION
Type HELP RPC for help about:
Commands: dced rpccp
STARTING and STOPPING RPC:
The RPC daemon can be started or stopped with the two new command files
DCE$RPC_STARTUP.COM and DCE$RPC_SHUTDOWN.COM, which are located in
SYS$COMMON:[SYSMGR].
STARTING:
To start the DCE daemon, execute DCE$RPC_STARTUP.COM.
The following options may be specified:
[NO]CONFIRM - Turns user prompting on or off. CONFIRM is the
default.
STOPPING:
To stop the Remote Procedure Call daemon execute
DCE$RPC_SHUTDOWN.COM. The following options may
be specified in any order.
[NO]CONFIRM - Turns user prompting on or off. CONFIRM is the
default.
CLEAN - Deletes all entries from the RPC endpoint database.
Note: The DCE daemon must not be stopped if any DCE components
or RPC applications are running on the system.
2 – rpccp
NAME
rpccp - Starts the RPC control program
SYNOPSIS
rpccp [ rpccp-command ]
2.1 – ARGUMENTS
rpccp-command
Specifies one of the following control program
commands:
exit Leaves the RPC control program.
help Displays a list of commands or the possible options
of a specified command.
quit Leaves the RPC control program.
remove mapping
Removes specified elements from the local endpoint
map or from the endpoint map of a specified remote
host.
show mapping
Shows the elements of the local endpoint map.
2.2 – DESCRIPTION
The RPC control program (rpccp) provides a set of commands
for managing the endpoint map.
You can use control program commands from within the control
program or from the system prompt (represented here as a $).
o From inside the control program:
You can start and enter the control program using the
rpccp command alone, without any argument. The control
program then displays the control program prompt
(rpccp>), as follows:
$ rpccp
rpccp>
You can then enter any control program command, for
example:
rpccp> show mapping
You leave the control program and return to the system
prompt using the exit or quit command.
If you enter invalid input, the control program
displays the valid commands.
o From the system prompt:
Interactively or in a command procedure, enter the
rpccp command with an internal command of the control
program as the first argument.
2.2.1 – Arguments and Options
Except for the exit and quit commands, rpccp commands have
one or more options. Each option is identified by a hyphen
(-) followed by a letter; for example, -s. Some options
require arguments.
___________________________________________________________
Function At System Prompt Inside Control Program
___________________________________________________________
Strings within Supported Not required
quotation marks
Wildcard Supported Unsupported
substitution
___________________________________________________________
2.2.2 – RPC Control Program Commands
_________________________________________________________
Scope Command Unsupported in RPC-only
Configuration
_________________________________________________________
All entries add entry X
remove entry X
show entry X
Server entry export X
import X
show server X
unexport X
Group add member X
remove group X
remove member X
show group X
Profile add element X
remove element X
remove profile X
show profile X
Endpoint map remove mapping
show mapping
____________________________________________________
2.3 – help
NAME
help - Displays a list of commands or the options of a
specified command
SYNOPSIS
rpccp help [ rpccp-command ]
ARGUMENTS
rpccp-command
Specifies one of the following control commands:
exit
quit
2.3.1 – DESCRIPTION
The help command displays information about the RPCCP
command set or the options and argument associated with a
specific command.
2.3.2 – EXAMPLES
The following command operates from the system prompt to
display the internal commands of the control program:
$ rpccp help
The following commands start the control program and display
the syntax of the remove entry command:
$ rpccp
rpccp> help remove entry
2.3.3 – RELATED_INFORMATION
Type HELP RPC for help about:
Commands: remove mapping, rpccp, show mapping
2.4 – remove_mapping
NAME
remove mapping - Removes specified elements from either the
local or a remote endpoint map
SYNOPSIS
rpccp remove mapping [ host-address ]
-b string-binding -i if-id [ -v versions ]
[ -o object-uuid ]
2.4.1 – OPTIONS
-b Declares a string binding (required). You must also
specify an interface identifier (using the -i option).
Each command accepts up to 32 -b options.
The value has the form of an RPC string binding, without
an object UUID, for example:
-b ncadg_ip_udp:63.0.2.17[5347]
Note that depending on your system, string binding
delimiters such as brackets ([ ]) may need to be preceded
by an escape symbol (\) or placed within quotation marks
(' ' or " "). Requirements vary from system to system,
and you must conform to the usage rules of a system.
-i Declares an interface identifier (required). Only one
interface can be removed in a single operation. The
interface identifier has the following form:
interface-uuid,major-version.minor-version
2.4.2 – ARGUMENTS
host-address
The host-address argument is a string binding that
indicates where to find the target endpoint map.
When accessing the local endpoint map, you can
specify what protocol sequence to use (optional);
ncadg_ip_udp:
When accessing a remote endpoint map, you must
specify both a protocol sequence and a network
address for the remote system (required); for
ncadg_ip_udp:16.20.16.44
An endpoint is unnecessary in local or remote host
addresses, and the remove mapping command ignores
any endpoint specified as part of a host address.
2.4.3 – DESCRIPTION
The remove mapping command removes one or more elements from
an endpoint map. The target endpoint map can be either the
local endpoint map or the endpoint map of a specified remote
host. Each map element corresponds to an object UUID,
interface identifier, annotation (optional), and binding
information. The binding information contains an RPC
protocol sequence, a network address, and an endpoint within
brackets (rpc-prot-seq:network-addr[endpoint]).
If entered without a remote host address as an argument, the
command operates on the local endpoint map. This command
requires one interface identifier (the -i option); at least
one string binding (the -b option); and, optionally, one or
more object UUIDs (the -o option). Each instance of the
command accepts from 1 to 32 -b options and from 0 to 32 -o
options. The options work together to delimit the elements
to be removed from the target endpoint map. The command
removes any map element that contains the specified
interface identifier, a specified string binding, and a
specified object UUID (if any).
2.4.4 – EXAMPLES
The following command operates from the system prompt to
remove a map element from the local endpoint map. The
command removes only the map element that contains the
specified interface identifier, server address (specified as
a string binding), and object UUID.
$ rpccp remove mapping \
> -b ncadg_ip_udp:16.20.16.64[3424] \
> -i EC1EEB60-5943-11C9-A309-08002B102989,1.1 \
> -o 30DBEEA0-FB6C-11C9-8EEA-08002B0F4528
$
The following commands start the control program and remove
an element from a remote endpoint map. The remove mapping
command operates on the endpoint map of the remote host
specified by the host address (ncadg_ip_udp:16.20.16.44) and
removes the map element that contains the specified
interface identifier, server address (specified as a string
binding), and object UUID:
$ rpccp
rpccp> remove mapping \
> -b ncadg_ip_udp:16.20.16.64[3424] \
> -i EC1EEB60-5943-11C9-A309-08002B102989,1.1 \
> -o 30DBEEA0-FB6C-11C9-8EEA-08002B0F4528 \
> ncadg_ip_udp:16.20.16.44
rpccp>
2.5 – show_mapping
NAME
show mapping - Shows the elements of either the local or
remote endpoint map
SYNOPSIS
rpccp show mapping [ host-address ]
[ -i if-id [ -v versions ]]
2.5.1 – OPTIONS
-i Defines an interface identifier to be shown (optional).
Only one interface can be shown in a single operation.
If specified, only elements containing this interface
identifier are shown. The -i option can be qualified by
the -v option. The value has the following form:
interface-uuid,major-version.minor-version
The UUID is a hexadecimal string and the version numbers
are decimal strings, for example:
-i EC1EEB60-5943-11C9-A309-08002B102989,1.1
Leading zeros in version numbers are ignored.
-o Defines an object to be shown (optional). Each show
mapping command accepts up to 32 -o options.
The UUID is a hexadecimal string, for example:
-o 3C6B8F60-5945-11C9-A236-08002B102989
-v Indicates how a specified interface version is used
(optional). If used without the -i option, the -v option
is ignored. The possible combinations of versions for
the -v option and their actions are as follows:
________________________________________________
Versions Action
________________________________________________
all The interface version is ignored.
exact Both the major and minor versions
must match the specified versions.
compatible The major version must match the
specified version, and the minor
version must be greater than or
equal to the specified version.
major_only The major version must match the
specified version; the minor
version is ignored.
upto The major and minor versions must
be less than or equal to those
specified.
________________________________________________
If the -v option is absent, the command shows compatible
version numbers.
2.5.2 – ARGUMENTS
host-address
The host-address argument is a string binding that
indicates where to find the target endpoint map.
When accessing the local endpoint map, you can
specify what protocol sequence to use (optional);
ncadg_ip_udp:
When accessing a remote endpoint map, you must
specify both a protocol sequence and a network
address for the remote system (required); for
ncadg_ip_udp:16.20.16.44
An endpoint is unnecessary in local or remote host
addresses, and the remove mapping command ignores
any endpoint specified as part of a host address.
2.5.3 – DESCRIPTION
The show mapping command shows elements of an endpoint map.
Each element corresponds to an object UUID, interface
identifier, annotation, and binding information. The binding
information contains an RPC protocol sequence, a network
address, and an endpoint within square brackets
(rpc-prot-seq:network-addr[endpoint]).
The endpoint map can be either the local endpoint map or the
endpoint map of a specified remote host. If entered without
a remote host address, the command accesses the local
endpoint map. For the local endpoint map, a show mapping
command without any options displays all the map elements.
For a remote endpoint map, map elements are accessible only
for protocol sequences that are supported on both your
system and the remote system.
Note: To ensure that you can remotely display all
map elements from every remote endpoint map,
run the RPC control program on a system that
supports all of the protocol sequences
available in your network environment.
The options list a selected subset of map elements. The - i
option selects a specific interface, and the -v option
qualifies the -i option. The -o object selects a specific
object; you can use from 0 to 32 -o options per command. The
options work together to specify the subset of elements for
the target protocol sequence(s).
2.5.4 – EXAMPLES
The following commands start the control program and show
the map elements in the local endpoint map that contain the
specified interface identifier:
$ rpccp
rpccp> show mapping -i EC1EEB60-5943-11C9-A309-08002B102989,1.1
The following rpccp show mapping command operates from the
system prompt. The command accesses the endpoint map of the
remote host specified by the host address
(ncadg_ip_udp:16.20.16.44) and displays the one map element
that contains both the specified interface identifier and
the specified object UUID:
$ rpccp show mapping \
> -i EC1EEB60-5943-11C9-A309-08002B102989,1.1 \
> -o 30DBEEA0-FB6C-11C9-8EEA-08002B0F4528 \
> ncadg_ip_udp:16.20.16.44