[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
Communications Programming Concepts

List of RPC Programming References

The list includes:

Subroutines and Macros

The list of subroutines and macros is arranged by function:

Authenticating Remote Procedure Calls

RPC provides these subroutines and macros for creating and destroying authentication information:

authnone_create Creates null authentication information.
authunix_create Creates an authentication handle with AIX permissions.
authunix_create_default Sets the authentication to the default.
authdes_create Enables the use of DES from the client side.
authdes_getucred Maps a DES credential into a UNIX credential.
auth_destroy Destroys authentication information.

Managing the Client

RPC provides subroutines and macros for the following client management tasks:

Creating an RPC Client for a Remote Program
clntraw_create Creates a sample RPC client handle for simulation.
clnttcp_create Creates a Transmission Control Protocol/Internet Protocol (TCP/IP) client transport handle.
clntudp_create Creates a User Datagram Protocol/Internet Protocol (UDP/IP) client transport handle.
clnt_create Creates a generic client transport handle.
Changing or Retrieving Client Information
clnt_control Changes or retrieves information about a client object.
Destroying a Client RPC Handle
clnt_destroy Destroys a client's RPC handle.
Broadcasting a Remote Procedure Call
clnt_broadcast Broadcasts a remote procedure call to all network hosts.
Calling a Remote Procedure
callrpc Calls the remote procedure on the machine associated with the host parameter.
clnt_call Calls the remote procedure associated with the clnt parameter.
Freeing Memory Allocated by RPC and XDR
clnt_freeres Frees memory allocated by RPC and XDR.
Handling Client Errors
clnt_pcreateerror Identifies why a client RPC handle was not created.
clnt_perrno Specifies the condition of the stat parameter.
clnt_perror Determines why a remote procedure call failed.
clnt_geterr Copies error information from a client transport handle.
clnt_spcreateerror Identifies why a client RPC handle was not created.
clnt_sperrno Specifies the condition of the stat parameter.
clnt_sperror Indicates why a remote procedure call failed.

Managing the Server

RPC provides subroutines and macros for the following server management tasks:

Creating an RPC Service Transport Handle
svcraw_create Creates a sample RPC service handle for simulation.
svctcp_create Creates a TCP/IP service transport handle.
svcudp_create Creates a UDP/IP service transport handle.
svcfd_create Creates a service on any open file descriptor.
Destroying an RPC Service Transport Handle
svc_destroy Destroys a service transport handle.
Registering and Unregistering RPC Procedures and Handles
registerrpc Registers a procedure with the RPC service.
xprt_register Registers an RPC service transport handle.
xprt_unregister Removes an RPC service transport handle.
svc_register Maps a remote procedure.
svc_unregister Removes mappings between procedures and objects.
Handling an RPC Request
svc_run Signals a wait for the arrival of RPC requests.
svc_getreqset Services an RPC request.
svc_getargs Decodes the arguments of an RPC request.
svc_sendreply Sends back the results of a remote procedure call.
svc_freeargs Frees data allocated by the RPC and XDR system.
svc_getcaller Gets the network address of the caller of a procedure.
Handling Server Errors
svcerr_auth Indicates that the remote procedure call cannot be completed due to an authentication error.
svcerr_decode Indicates that the parameters of a request cannot be decoded.
svcerr_noproc Indicates that the remote procedure call cannot be completed because the program cannot support the requested procedure.
svcerr_noprog Indicates that the remote procedure call cannot be completed because the program is not registered.
svcerr_progvers Indicates that the remote procedure call cannot be completed because the program version is not registered.
svcerr_systemerr Indicates that the remote procedure call cannot be completed due to an error not covered by any protocol.
svcerr_weakauth Indicates that the remote procedure call cannot be completed due to insufficient authentication security parameters.

Using RPC Utilities

host2netname Converts a host name to a network name.
netname2host Converts a network name to a host name.
netname2user Converts a network name to a user ID.
user2netname Converts a user ID to a network name.
getnetname Installs the network name of the caller in the array.
get_myaddress Gets the user's IP address.
getrpcent, getrpcbyname, getrpcbynumber, setrpcent, or endrpcent
                          Accesses the /etc/rpc file.
                          Accesses the /etc/rpc file.
rtime Returns the remote time in the timeval structure.

Using DES Interface to the keyserv Daemon

key_decryptsession Decrypts a server network name and a DES key.
key_encryptsession Encrypts a server network name and a DES key.
key_gendes Requests a secure conversation key from the keyserv daemon.
key_setsecret Sets the key for the user ID of the calling process.

Interfacing to the portmap Daemon

pmap_getmaps Returns a list of the current RPC port mappings.
pmap_getport Requests the port number on which a service waits.
pmap_rmtcall Instructs the portmap daemon to make an RPC.
pmap_set Maps an RPC to a port.
pmap_unset Destroys the mapping between the RPC and the port.
xdr_pmap Describes parameters for portmap procedures.
xdr_pmaplist Describes a list of port mappings externally.

Describing and Encoding Remote Procedure Calls

RPC provides subroutines for describing and encoding RPC call and reply messages, authentication, and port mappings:

xdr_accepted_reply Encodes RPC reply messages.
xdr_authunix_parms Describes UNIX-style credentials.
xdr_callhdr Describes RPC call header messages.
xdr_callmsg Describes RPC call messages.
xdr_opaque_auth Describes RPC authentication messages.
xdr_rejected_reply Describes RPC message rejection replies.
xdr_replymsg Describes RPC message replies.

Examples

Using UNIX Authentication Example .

DES Authentication Example .

Using the Highest Layer of RPC Example .

Using the Intermediate Layer of RPC Example .

Using the Lowest Layer of RPC Example .

Showing How RPC Passes Arbitrary Data Types Example .

Using Multiple Program Versions Example .

Broadcasting a Remote Procedure Call Example .

Using the select Subroutine Example .

rcp Process on TCP Example .

RPC Callback Procedures Example .

RPC Language ping Program Example .

Converting Local Procedures into Remote Procedures Example .

Generating XDR Routines Example .


[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]