Previous section.

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

NAME

rpc_mgmt_inq_if_ids- returns a vector of interface identifiers of interfaces a server offers

SYNOPSIS

#include <dce/rpc.h>

void rpc_mgmt_inq_if_ids( rpc_binding_handle_t binding, rpc_if_id_vector_t **if_id_vector, unsigned32 *status);

PARAMETERS

Input

binding
Specifies a binding handle. To receive interface identifiers from a remote application, the calling application specifies a server binding handle for that application. To receive interface information about itself, the application specifies NULL.

If the binding handle supplied refers to partially bound binding information and the binding information contains a nil object UUID, then this routine returns the rpc_s_binding_incomplete status code. To avoid this situation, the application can obtain a fully bound server binding handle by calling the rpc_ep_resolve_binding() routine.

Output

if_id_vector
Returns the address of an interface identifier vector.

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_binding_incomplete

Binding incomplete (no object ID and no endpoint).

rpc_s_comm_failure

Communications failure.

rpc_s_no_interfaces

No interfaces registered.

rpc_s_mgmt_op_disallowed

Not authorised for operation.

In addition to the above values, status can return the value of status from an application-defined authorisation function. The prototype for such a function is defined in the authorization_fn argument description in tagmref_rpc_mgmt_set_authorization_fn .

DESCRIPTION

An application calls the rpc_mgmt_inq_if_ids() routine to obtain a vector of interface identifiers listing the interfaces registered by a server with the RPC run-time system.

If a server has not registered any interfaces with the run-time system, this routine returns a rpc_s_no_interfaces status code and an if_id_vector argument value of NULL.

The binding handle supplied in the binding argument must refer to binding information that is fully bound or contains a non-nil object UUID. If the binding handle supplied refers to partially bound binding information that contains a nil object UUID, the routine returns the rpc_s_binding_incomplete status code.

The RPC run-time system allocates memory for the interface identifier vector. The application calls the rpc_if_id_vector_free() routine to release the memory used by this vector.

By default, the RPC run-time system allows all clients to remotely call this routine. To restrict remote calls of this routine, a server application supplies an authorisation function using the rpc_mgmt_set_authorization_fn() routine.

RETURN VALUE

None.

SEE ALSO


rpc_ep_resolve_binding()
rpc_if_id_vector_free()
rpc_mgmt_set_authorization_fn()
rpc_server_register_if().

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