PreviousNext

rpc_server_use_protseq_ep(3rpc)

Tells the RPC runtime to use the specified protocol sequence combined with the specified endpoint for receiving remote procedure calls

Used by server applications.

Synopsis

#include <dce/rpc.h>

void rpc_server_use_protseq_ep(

unsigned_char_t *protseq,

unsigned32 max_call_requests,

unsigned_char_t *endpoint,

unsigned32 *status);

Parameters

Input

protseq
Specifies a string identifier for the protocol sequence to register with the RPC runtime. (For a list of string identifiers, see the table of valid protocol sequences in rpc_intro(3rpc) .

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 than 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, rpc_server_listen( ) limits (according to its max_calls_exec parameter) the amount of concurrent remote procedure call execution. See rpc_server_listen(3rpc) for more information.

endpoint
Specifies address information for an endpoint. This information is used in creating a binding handle for the protocol sequence specified in the protseq parameter.

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_protseq_ep( ) routine registers a protocol sequence and its specified endpoint address information with the RPC runtime. A server must register at least one protocol sequence with the RPC runtime to receive remote procedure call requests. A server can call this routine multiple times to register additional protocol sequences and endpoints.

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 endpoint parameter.

The max_call_requests parameter allows you to specify the maximum number of concurrent remote procedure call requests the server handles.

The explanation of rpc_server_use_all_protseqs( ) contains a list of the routines a server typically calls after calling this routine. 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_invalid_endpoint_format
Invalid endpoint format.

rpc_s_invalid_rpc_protseq
Invalid protocol sequence.

rpc_s_max_descs_exceeded
Exceeded maximum number of network descriptors.

rpc_s_protseq_not_supported
Protocol sequence not supported on this host.

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_all_protseqs_if(3rpc)

rpc_server_use_protseq(3rpc)

rpc_server_use_protseq_ep(3rpc)