rpc_ns_mgmt_binding_unexport- removes multiple binding handles, or object UUIDs, from an entry in the name service database
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);
- An integer value that specifies the syntax of argument entry_name. (See
Name Syntax Constantsfor the possible values of this argument.)
The value rpc_c_ns_syntax_default specifies the syntax specified by the RPC_DEFAULT_ENTRY_SYNTAX environment variable.
- The name of the entry from which binding handles or object UUIDs are removed. The entry name syntax is identified by the argument entry_name_syntax.
- Specifies 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.
- Specifies how the rpc_ns_mgmt_binding_unexport() routine uses the vers_major and the vers_minor fields of the if_id argument.
The following list presents the accepted values for this argument:
- Unexports (that is, removes) all bindings for the interface UUID in if_id, regardless of the version numbers.
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.
- Removes those bindings for the interface UUID in if_id with the same major and minor versions as in if_id.
Removes those bindings for the interface UUID in if_id with the same major version as in if_id (ignores the minor version).
- Removes those bindings that offer a version of the specified interface UUID less than or equal to the specified major and minor version.
- 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
- Returns the status code from this routine. The status code indicates whether the routine completed successfully, or if not, why not.
Possible status codes and their meanings include:
Name service entry not found.
Interface not found.
Name service unavailable.
No permission for name service operation.
Not all objects unexported.
Not an RPC entry.
Unsupported name syntax.
The rpc_ns_mgmt_binding_unexport() routine allows an 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 for a resource or resources
- both binding handles and object UUIDs.
An 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 the application specifies both binding handles and object UUIDs, the object UUIDs are removed only if the routine succeeds in removing the binding handles.
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.
- Besides calling this routine, an application also calls the rpc_mgmt_ep_unregister() routine to remove any servers that have registered with the local endpoint map.
Applications normally call this routine only when a server is expected to be unavailable for an extended time.
The application needs both read permission and write permission to the target name service entry.
Please note that the html version of this specification may contain formatting aberrations. The definitive version is available as an electronic publication on CD-ROM from The Open Group.