PreviousNext

rpc_server_use_all_protseqs_if(3rpc)

Tells the RPC runtime to use all the protocol sequences and endpoints specified in the interface specification for receiving remote procedure calls

Used by server applications.

Synopsis

#include <dce/rpc.h>

void rpc_server_use_all_protseqs_if(

unsigned32 max_call_requests,

rpc_if_handle_t if_handle,

unsigned32 *status);

Parameters

Input

max_call_requests
Specifies the maximum number of concurrent remote procedure call requests that the server can accept.

The RPC runtime guarantees that the server can accept at least this number of concurrent call requests. The actual number of these requests can be greater that the value of max_call_requests and can vary for each protocol sequence.

Use the value rpc_c_protseq_max_reqs_default to specify the default parameter value.

Note that in this version of DCE RPC, any number you specify is replaced by the default value.

Also, the rpc_server_listen( ) routine limits (according to its max_calls_exec parameter) the amount of concurrent remote procedure call execution. See rpc_server_listen(3rpc) for more information.

if_handle
Specifies an interface specification containing the protocol sequences and their corresponding endpoint information to use in creating binding handles. Each created binding handle contains a well-known (nondynamic) endpoint contained in the interface specification.

Output

status
Returns the status code from this routine. This status code indicates whether the routine completed successfully or, if not, why not.

Description
The rpc_server_use_all_protseqs_if( ) routine registers all protocol sequences and associated endpoint address information provided in the IDL file with the RPC runtime. A server must register at least one protocol sequence with the RPC runtime to receive remote procedure call requests.

For each protocol sequence registered by a server, the RPC runtime creates one or more binding handles. Each binding handle contains the well-known endpoint specified in the IDL file.

The max_call_requests parameter allows you to specify the maximum number of concurrent remote procedure call requests the server handles. If you want to register selected protocol sequences specified in the IDL, your server uses rpc_server_use_protseq_if( ).

The explanation of rpc_server_use_all_protseqs( ) contains a list of the routines a server typically calls after calling this routine. (However, a server that uses only rpc_server_use_all_protseqs_if( ) does not subsequently call rpc_ep_register( ) or rpc_ep_register_no_replace( ).) For an explanation of how a server can establish a client/server relationship without using the local endpoint map or the name service database, see the information on string bindings in rpc_intro(3rpc) .

Return Values
No value is returned.

Errors

The following describes a partial list of errors that might be returned. Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages.

rpc_s_ok
Success.

rpc_s_calls_too_large_for_wk_ep
Maximum concurrent calls too large.

rpc_s_cant_bind_socket
Cannot bind to socket.

rpc_s_cant_create_socket
Cannot create socket.

rpc_s_cant_inq_socket
Cannot inquire endpoint from socket.

rpc_s_invalid_endpoint_format
Invalid interface handle.

rpc_s_max_descs_exceeded
Exceeded maximum number of network descriptors.

rpc_s_no_protseqs
No supported protocol sequences.

Related Information
Functions: rpc_binding_vector_free(3rpc)

rpc_ep_register(3rpc)

rpc_ep_register_no_replace(3rpc)

rpc_ns_binding_export(3rpc)

rpc_server_inq_bindings(3rpc)

rpc_server_listen(3rpc)

rpc_server_register_if(3rpc)

rpc_server_use_all_protseqs(3rpc)

rpc_server_use_protseq(3rpc)

rpc_server_use_protseq_ep(3rpc)

rpc_server_use_protseq_if(3rpc)