Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rpc_use_family_wk(3ncs) — Ultrix/UWS 4.4 RISC

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(3ncs)

rpc_use_family(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 status.all is equal to status_$ok , then the routine that supplied it was successful. 

Description

The rpc_$use_family_wk 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 rpc_$use_family.

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 sockaddr 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 rpc_$ routine in status.all.

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 rpc_$use_family or rpc_$use_family_wk 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 rpc_$use_family_wk routine are already in use. This is caused by multiple calls to rpc_$use_family_wk with the same well-known port.

Files

/usr/include/idl/c/rpc.h
/usr/include/idl/rpc.idl

See Also

intro(3ncs), rpc_use_family(3ncs)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026