Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

rpc_use_family_wk(3ncs) [ultrix man page]

rpc_use_family_wk(3ncs) 												   rpc_use_family_wk(3ncs)

Name
       rpc_use_family_wk - create a socket with a well-known port for a remote procedure call (RPC) server (server only)

Syntax
       #include <idl/c/rpc.h>

       void rpc_$use_family_wk(family, ifspec, sockaddr, slength, status)
       unsigned long family;
       rpc_$if_spec_t *ifspec;
       socket_$addr_t *sockaddr;
       unsigned long *slength;
       status_$t *status;

Arguments
       family	      The  address  family  of the socket to be created.  This value corresponds to the communications protocol used to access the
		      socket and determines how the sockaddr is expressed.  The value must be one of socket_$unspec or socket_$internet.

       ifspec	      The interface that will be registered by the server.  Typically, this parameter is the interface if_spec	generated  by  the
		      NIDL compiler from the interface definition; the well-known port is specified as an interface attribute.

       sockaddr       The socket address of the socket on which the server will listen.

       slength	      The length, in bytes, of sockaddr.

       status	      The  completion status.  If the completion status returned in is equal to status_$ok , then the routine that supplied it was
		      successful.

Description
       The routine creates a socket that uses the port specified through the if_spec parameter.  Use this routine to create a  socket  only  if  a
       server must listen on a particular well-known port.  Otherwise, use

       A  server  listens  on one socket per address family, regardless of how many interfaces that it exports.  Therefore, servers that use well-
       known ports should make this call once per supported address family.

Examples
       The following statement creates the well-known socket identified by for an array processor server:
       rpc_$use_family_wk (socket_$internet, &matrix$if_spec,
			      &sockaddr, &slen, &status);

Diagnostics
       This section lists status codes for errors returned by this routine in

       rpc_$cant_create_sock
			   The RPC runtime library was unable to create a socket.

       rpc_$not_in_call    An internal error.

       rpc_$proto_error    An internal protocol error.

       rpc_$too_many_sockets
			   The server is trying to use more than the maximum number of sockets that is allowed; it has called or too many times.

       rpc_$bad_pkt	   The server or client has received an ill-formed packet.

       rpc_$addr_in_use    The address and port specified in an routine are already in use.  This is caused by multiple calls  to  with  the  same
			   well-known port.

Files
See Also
       intro(3ncs), rpc_use_family(3ncs)

															   rpc_use_family_wk(3ncs)

Check Out this Related Man Page

rpc_register_mgr(3ncs)													    rpc_register_mgr(3ncs)

Name
       rpc_register_mgr - register a manager (server only)

Syntax
       #include <idl/c/rpc.h>

       void rpc_$register_mgr(type, ifspec, sepv, mepv, status)
       uuid_$t *type;
       rpc_$if_spec_t *ifspec;
       rpc_$generic_epv_t sepv;
       rpc_$mgr_epv_t mepv;
       status_$t *status;

Arguments
       type		   The UUID of the type being registered.

       ifspec		   The interface being registered.

       sepv		   The generic EPV, a vector of pointers to server stub procedures.

       mepv		   The manager EPV, a vector of pointers to manager procedures.

       status		   The completion status.  If the completion status returned in is equal to status_$ok , then the routine that supplied it
			   was successful.

Description
       The routine registers the set of manager procedures that implement a specified interface for a specified type.

       Servers can invoke this routine several times with the same interface (ifspec) and generic EPV (sepv) but  with	a  different  object  type
       (type) and manager EPV (mepv) on each invocation.  This technique allows a server to export several implementations of the same interface.

       Servers	that  export several versions of the same interface (but not different implementations for different types) must also use not Such
       servers should supply uuid_$nil as the type to

       If a server uses to register a manager for a specific interface and a specific type that is not nil, the server must  use  to  register	an
       object.

Diagnostics
       This section lists status codes for errors returned by this routine in

       rpc_$op_rng_error   The requested operation does not correspond to a valid operation in the requested interface.

       rpc_$unk_if	   The	requested interface is not known.  It is not registered in the server, the version number of the registered inter-
			   face is different from the version number specified in the request, or the UUID in the request does not match the  UUID
			   of the registered interface.

       rpc_$too_many_ifs   The	maximum  number  of interfaces is already registered with the RPC runtime library; the server must unregister some
			   interface before it registers an additional interface.

       rpc_$not_in_call    An internal error.

       rpc_$you_crashed    This error can occur if a server has crashed and restarted.	A client RPC runtime library sends the error to the server
			   if  the  client  makes  a  remote  procedure  call before the server crashes, then receives a response after the server
			   restarts.

       rpc_$proto_error    An internal protocol error.

       rpc_$illegal_register
			   You are trying to register an interface that is already registered and you are using an EPV different from the one used
			   when  the  interface  was  first registered.  An interface can be multiply registered, but you must use the same EPV in
			   each routine.

Files
See Also
       intro(3ncs), rpc_register(3ncs), rpc_register_object(3ncs), rpc_unregister(3ncs)

															    rpc_register_mgr(3ncs)
Man Page