Previous section.

CDE 1.1: Remote Procedure Call
Copyright © 1997 The Open Group

NAME

rpc_ns_binding_unexport- removes binding handles and/or object UUIDs from an entry in the name service database

SYNOPSIS

#include <dce/rpc.h>

void rpc_ns_binding_unexport( unsigned32 entry_name_syntax, unsigned_char_t *entry_name, rpc_if_handle_t if_handle, uuid_vector_t *object_uuid_vec, unsigned32 *status);

PARAMETERS

Input

entry_name_syntax
An integer value that specifies the syntax of argument entry_name. (See Name Syntax Constants for 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.

entry_name
The name of the entry from which binding handles or objects UUIDs are removed. The entry name syntax is identified by the argument entry_name_syntax.

if_handle
An interface specification for the binding handles to be removed from the name service database. The value NULL indicates that no binding handles are removed.

object_uuid_vec
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.

Output

status
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:

rpc_s_ok
Success.

rpc_s_entry_not_found

Name service entry not found.

rpc_s_class_version_mismatch

Name service entry has incompatible RPC class version.

rpc_s_interface_not_found

Interface not found.

rpc_s_name_service_unavailable

Name service unavailable.

rpc_s_no_ns_permission

No permission for name service operation.

rpc_s_not_all_objs_unexported

Not all objects unexported.

rpc_s_not_rpc_entry

Not an RPC entry.

DESCRIPTION

The rpc_ns_binding_unexport() routine allows an application to unexport (that is, remove) one of the following from an entry in the name service database:

The rpc_ns_binding_unexport() routine removes only those binding handles that match the interface UUID and the major and minor interface version numbers found in the if_handle argument. To remove multiple versions of an interface, applications use the rpc_ns_mgmt_binding_unexport() routine.

Note:
A server application can remove an interface and objects in a single call to this routine, or it can remove them separately.

If the rpc_ns_binding_unexport() routine does not find any binding handles for the specified interface, the routine returns an rpc_s_interface_not_found status code 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 rpc_ns_binding_unexport() routine succeeds in removing the binding handles.

If any of the specified object UUIDs are not found, routine rpc_ns_binding_unexport() returns the status code rpc_s_not_all_objs_unexported.

Notes:
Besides calling this routine, an application also calls the rpc_ep_unregister() routine to unregister any endpoints that the server previously registered with the local endpoint map.

Applications normally call this routine only when a server is expected to be unavailable for an extended time.

Permissions Required

The application needs both read permission and write permission to the target name service entry.

RETURN VALUE

None.

SEE ALSO


rpc_ep_unregister()
rpc_ns_binding_export()
rpc_ns_mgmt_binding_unexport().

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.

Contents Next section Index