PreviousNext

export(8rpc)

Exports binding information for an interface identifier or object UUIDs or both to a server entry; if the specified entry does not exist, creates the entry

Synopsis

rpccp export entry-name
{{[-i if-id] | [-o object-uuid] ...} | -b string-binding ...}
[-s syntax ]

Options

-i if_id
Declares the interface identifier of an RPC interface. The export command operates on only one -i option; if you enter more than one, the command ignores all but the last interface identifier. If you specify an interface identifier, you must specify at least one -b option. The -i and -o options can occur together or separately, but one of them is necessary.

The interface identifier takes the following form:

interface-uuid,major-version.minor-version

The version numbers are optional, but if you omit a version number, the value defaults to 0. The UUID is a hexadecimal string and the version numbers are decimal strings, for example:

-i ec1eeb60-5943-11c9-a309-08002b102989,3.11

Leading zeros in version numbers are ignored.

-o object-uuid
Declares the UUID of an object. Each export command accepts up to 32 -o options. The -i and -o options can occur together or separately, but one of them is necessary.

The UUID is a hexadecimal string, for example:

-o 3c6b8f60-5945-11c9-a236-08002b102989

-b string_binding
Declares a string binding (optional). To use this option, 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. The binding information contains an RPC protocol sequence, a network address, and sometimes an endpoint within brackets (rpc-prot-seq:network-addr[endpoint]). For a well-known endpoint, include the endpoint in the string binding, for example:

-b ncadg_ip_udp:63.0.2.17[5347]

For a dynamic endpoint, omit the endpoint from the string binding, for example:

-b ncacn_ip_tcp:16.20.15.25

Note that depending on your system, string binding delimiters such as brackets ([ ]) may need to be preceded by an escape symbol (\) or put within quotation marks (' ' or " "). Requirements vary from system to system, and you must conform to the usage rules of a system.

-s syntax
Indicates the name syntax of the entry name (optional). The only value for this option is the dce name syntax, which is the default name syntax. Until an alternative name syntax becomes available, specifying the -s option is unnecessary.

Arguments

entry-name
Specifies the name of the target name service entry. Usually, the target is a server entry. However, objects also can be exported (without an interface identifier or any binding information) to a group or a profile.

For an entry in the local cell, you can omit the cell name and specify only the cell-relative name.

Description
The export command puts binding information and an interface identifier, object UUIDs, or both into a server entry, or the command object UUIDs into a group's entry. The export command searches the name service database for the entry with the specified entry name. If the entry exists, the command uses it; otherwise, the command tries to create a new name service entry using the specified entry name.

Minimally, the command requires the name of the entry and either an identifier and binding string or an object.

If the specified entry does not exist, the export command tries to create the entry.

Privileges Required
You need both read permission and write permission to the CDS object entry (the target name service entry). If the entry does not exist, you also need insert permission to the parent directory.

Notes
This command is replaced at Revision 1.1 by the dcecp command and may not be provided in future releases of DCE.

Examples
This example shows a control program export command that is stored in a file for later execution from the system prompt. The command exports two objects and an interface with two string bindings to the server entry /.:/LandS/anthro/Cal_host_3 in the local cell:

# file to export Calendar 1.1 at installation time rpccp export \
-i ec1eeb60-5943-11c9-a309-08002b102989,1.1 \
-b ncacn_ip_tcp:16.20.15.25 \
-b ncadg_ip_udp:63.0.2.17 \
-o 30dbeea0-fb6c-11c9-8eea-08002b0f4528 \
-o 16977538-e257-11c9-8dc0-08002b0f4528 \
/.:/LandS/anthro/Cal_host_3

The following example shows the use of a user-defined environment variable as an interface identifier, to facilitate entering an export command interactively (in this case, from inside the control program).

The initial two shell commands set up an environment variable Calendar_1_1, which represents the interface identifier of an RPC interface. The rpccp command then starts the control program, and the export command exports the Calendar interface and two string bindings to the server entry /.:/LandS/anthro/Cal_host_2 in the local cell, as follows:

$ Calendar_1_1=ec1eeb60-5943-11c9-a309-08002b102989,1.1
$ export Calendar_1_1
$ rpccp
rpccp> export -i Calendar_1_1 \
>
-b ncacn_ip_tcp:16.20.15.25 \
>
-b ncadg_ip_udp:63.0.2.17 \
>
/.:/LandS/anthro/Cal_host_2

The following example shows the use of user-defined environment variables for object UUIDs to facilitate entering an export command interactively (in this case, from inside the control program).

The initial shell commands set up the environment variables LUKE_CAL and JOSH_CAL, which represent personal calendars that are accessible as objects to an RPC server. The rpccp command then starts the control program, and the export command exports the two objects to the server's entry /.:/LandS/anthro/Cal_host_2 in the local cell:

$ LUKE_CAL=30dbeea0-fb6c-11c9-8eea-08002b0f4528
$ export LUKE_CAL
$ JOSH_CAL=16977538-e257-11c9-8dc0-08002b0f4528
$ export JOSH_CAL
$ rpccp
rpccp> export -o LUKE_CAL -o JOSH_CAL \
>
/.:/LandS/anthro/Cal_host_2

Related Information
Commands:

import(8rpc)

show server(8rpc)

unexport(8rpc)