rpc_ns_mgmt_binding_unexport(3) — Subroutines
NAME
rpc_ns_mgmt_binding_unexport - Removes multiple binding handles, or object UUIDs, from an entry in the name service database
Used by management applications.
SYNOPSIS
#include <dce/rpc.h>
void rpc_ns_mgmt_binding_unexport(
unsigned32 entry_name_syntax ,
unsigned_char_t ∗entry_name ,
rpc_if_id_t ∗if_id ,
unsigned32 vers_option ,
uuid_vector_t ∗object_uuid_vec ,
unsigned32 ∗status );
PARAMETERS
Input
entry_name_syntaxAn integer value that specifies the syntax of argument entry_name. To use the syntax specified in the RPC_DEFAULT_ENTRY_SYNTAX environment variable, provide the integer value rpc_c_ns_syntax_default.
entry_nameSpecifies an entry name whose binding handles or object UUIDs are removed. This can be either the global or cell-relative name.
if_idSpecifies an interface identifier for the binding handles to be removed from the name service database. The value NULL indicates that no binding handles are removed (only object UUIDs are removed).
vers_optionSpecifies how the rpc_ns_mgmt_binding_unexport routine uses the vers_major and the vers_minor fields of the if_id argument. The following table presents the accepted values for this argument:
ValueDescription
rpc_c_vers_allUnexports (that is, removes) all bindings for the interface UUID in if_id, regardless of the version numbers. For this value, specify 0 (zero) for both the major and minor versions in if_id.
rpc_c_vers_compatible
Removes those bindings for the interface UUID in if_id with the same major version as in if_id, and with a minor version greater than or equal to the minor version in if_id.
rpc_c_vers_exactRemoves those bindings for the interface UUID in if_id with the same major and minor versions as in if_id.
rpc_c_vers_major_only
Removes those bindings for the interface UUID in if_id with the same major version as in if_id (ignores the minor version). For this value, specify 0 (zero) for the minor version in if_id.
rpc_c_vers_uptoRemoves those bindings that offer a version of the specified interface UUID less than or equal to the specified major and minor version. (For example, if argument if_id contains V2.0 and the name service entry contains binding handles with the versions V1.3, V2.0, and V2.1, the rpc_ns_mgmt_binding_unexport routine removes the binding handles with V1.3 and V2.0.)
object_uuid_vecSpecifies a vector of object UUIDs to be removed from the name service database. The application constructs this vector. The value NULL indicates that no object UUIDs are removed (only binding handles are removed).
Output
statusReturns the status code from this routine. This status code indicates whether the routine completed successfully or, if not, why not. The possible status codes and their meanings are as follows:
rpc_s_okSuccess.
rpc_s_entry_not_foundName service entry not found.
rpc_s_incomplete_nameIncomplete name.
rpc_s_interface_not_foundInterface not found.
rpc_s_invalid_name_syntaxInvalid name syntax.
rpc_s_invalid_vers_optionInvalid version option.
rpc_s_name_service_unavailable
Name service unavailable.
rpc_s_no_ns_permissionNo permission for name service operation.
rpc_s_not_all_objs_unexported
Not all objects unexported.
rpc_s_nothing_to_unexportNothing to unexport.
rpc_s_not_rpc_entryNot an RPC entry.
rpc_s_unsupported_name_syntax
Unsupported name syntax.
DESCRIPTION
The rpc_ns_mgmt_binding_unexport routine allows a management application to unexport (that is, remove) one of the following from an entry in the name service database:
•All the binding handles for a specified interface UUID, qualified by the interface version numbers (major and minor)
•One or more object UUIDs of resources
•Both binding handles and object UUIDs of resources
A management application can remove an interface and objects in a single call to this routine, or it can remove them separately.
If the rpc_ns_mgmt_binding_unexport routine does not find any binding handles for the specified interface, the routine returns an rpc_s_interface_not_found status and does not remove the object UUIDs, if any are specified.
If one or more binding handles for the specified interface are found and removed without error, rpc_ns_mgmt_binding_unexport removes the specified object UUIDs, if any.
If any of the specified object UUIDs are not found, routine rpc_ns_mgmt_binding_unexport returns the rpc_not_all_objs_unexported status code.
A management application, in addition to calling this routine, also calls the rpc_mgmt_ep_unregister routine to remove any servers that have registered with the local endpoint map.
Use this routine with caution, only when you expect a server to be unavailable for an extended time; for example, when it is permanently removed from service.
Additionally, keep in mind that name service databases are designed to be relatively stable. In replicated name service databases, frequent use of the rpc_ns_binding_export and rpc_ns_mgmt_binding_unexport routines causes the name service to repeatedly remove and replace the same entry and can cause performance problems.
Permissions Required
You need both read permission and write permission to the CDS object entry (the target name service entry).
NOTE:
For this release, the RPC naming service (rpc_ns) routines are not implemented, nor is an independent naming service provided.
RETURN VALUES
None.
RELATED INFORMATION
Functions: rpc_mgmt_ep_unregister(3), rpc_ns_binding_export(3), rpc_ns_binding_unexport(3)