VMS Help
DCE_RPC, Application Routines, rpc_server_use_protseq_if

 *Conan The Librarian (sorry for the slow response - running on an old VAX)

 NAME

   rpc_server_use_protseq_if - Tells the RPC runtime to use the specified
                               protocol sequence combined with the
                               endpoints in the interface specification
                               for receiving remote procedure calls

   Used by server applications.

 SYNOPSIS

   #include <dce/rpc.h>

   void rpc_server_use_protseq_if( unsigned_char_t *protseq,
                                   unsigned32 max_call_requests,
                                   rpc_if_handle_t if_handle,
                                   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 the rpc_intro(3rpc) reference
       page.

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

   if_handle
       Specifies an interface specification whose endpoint information
       is used in creating a binding for the protocol sequence specified
       in the protseq parameter.  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.  The possible status codes and their meanings are as
       follows:

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

 DESCRIPTION

   The rpc_server_use_protseq_if() routine registers one protocol sequence
   with the RPC runtime, including its endpoint address information as
   provided in the specified IDL file.

   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.

   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.

   To register all protocol sequences from the IDL, a server calls the
   rpc_server_use_all_protseqs_if() routine.

   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_protseq_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 the rpc_intro
   reference page.

 RETURN VALUES

   No value is returned.

 RELATED INFORMATION

   Functions: rpc_binding_vector_free
              rpc_ep_register
              rpc_ep_register_no_replace
              rpc_ns_binding_export
              rpc_server_inq_bindings
              rpc_server_listen
              rpc_server_register_if
              rpc_server_use_all_protseqs
              rpc_server_use_all_protseqs_if
              rpc_server_use_protseq
              rpc_server_use_protseq_ep
  Close     HLB-list     TLB-list     Help  

[legal] [privacy] [GNU] [policy] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.