Other APIs
These APIs are used primarily in conjunction with all the layers except the
simplified-level APIs. These APIs provide methods for sending back errors from
the service to the client, for freeing space allocated to the clients and
services, and for enhancing error detection and reporting.
The system functions that work with applications from the previous four
categories are:
- clnt_freeres() (Free data allocated by the RPC or XDR system) frees any data allocated by the RPC or XDR system when it decoded the results of an RPC call.
- clnt_geterr() (Get the error structure from the client handle) copies the error structure out of the client handle to the structure at address errp.
- svc_freeargs() (Free data allocated by the RPC or XDR system) frees any data allocated by the RPC or XDR functions when those functions decode the arguments to a service procedure by using svc_getargs().
- svc_getargs() (Decode the arguments of an RPC request) decodes the arguments of an RPC request associated with the RPC service transport handle xprt.
- svc_getrpccaller() (Get the network address of the caller) retrieves the network address of the remote client who is calling the procedure that is associated with the RPC service transport handle.
- svc_run() (Wait for RPC requests to arrive) waits for RPC requests to arrive and calls the appropriate service procedure.
- svc_sendreply() (Send the results of a procedure call to a remote client) sends the results of a procedure call to a remote client.
- svcerr_decode() (Send information to client for decode error) sends information to the remote client that the service dispatch routine could not decode the remote parameters.
- svcerr_noproc() (Send information to client for procedure number error) sends information to the client that the service dispatch routine did not implement the procedure number that the caller requested.
- svcerr_systemerr() (Send information to client for system error) sends information to the remote client that the service dispatch routine detected a system error not covered by any particular protocol.
- svcerr_weakauth() (Send Authentication Error Indication to a Client) sends information to a remote client that the server dispatch function detected an authentication error.