Next: PMAP Up: Protocol Specifications Previous: SSR Test

SUNRPC

SUNRPC (Sun Remote Procedure Call Protocol)

SPECIFICATION
Remote Procedure Calls: Protocol Specification. Sun Microsystems, Inc., Mountain View, Calif., May 1988.

SYNOPSIS
Sun RPC is a fairly complete implementation of Sun's remote procedure call protocol. This implementation is compatible with Sun's native implementation. The interface to our implementation of Sun RPC in no way resembles Sun's. The Sun Portmapper is treated as a separate protocol that sits on top of Sun RPC. This implementation only supports UDP as a lower level protocol. The protocol supports unreliable remote procedure calls to possibly heterogeneous hosts. Our implementation of the Sun RPC protocol uses most but not all of the original Sun RPC include files and XDR files. Thus, you must have access to Sun include and XDR files to compile this protocol.

REALM
SUNRPC is in the RPC realm.

PARTICIPANTS
SUNRPC removes three pointers to longs from the remote participant stack, representing the procedure, version and program number (starting from the top of the stack.)

The local participant may be present, in which case it is passed on untouched to the next protocol, or it may be absent.

CONTROL OPERATIONS

SUNRPC_CLNTGETERROR:
Returns an RPC error status structure. (session only)
Input:
none
Output:
struct rpc_err

SUNRPC_CLNTSETTOUT:
Sets the client timeout value; the amount of time the client will wait before resending the message. (session only)
Input:
struct timeval
Output:
none

SUNRPC_CLNTGETTOUT:
Returns the client timeout value. (session only)
Input:
none
Output:
struct timeval

SUNRPC_CLNTSETWAIT:
Sets the client wait value, the amount of time the client will wait before returning an error. (session only)
Input:
struct timeval
Output:
none

SUNRPC_CLNTGETWAIT:
Returns the client wait value. (session only)
Input:
none
Output:
struct timeval

SUNRPC_GETCREDTYPE:
Returns the type of authentication credentials used. Valid types are NULL authentication, Unix authentication and DES authentication. Note that the protocol or user above Sun RPC is completely responsible for all authentication; the Sun RPC protocol merely copies credentials into and out of the header. (session only)
Input:
none
Output:
int

SUNRPC_GETCRED:
Returns the authentication credentials used in an opaque byte string. (session only)
Input:
none
Output:
char *

SUNRPC_SETCREDTYPE:
Sets the type of authentication credentials used (session only)
Input:
int
output:
none

SUNRPC_SETCRED:
Sets the authentication credentials used in an opaque byte string (already xdr'ed). (session only)
Input:
char *
Output:
none

SUNRPC_GETVERFTYPE:
Returns the type of authentication verification used. Valid types are NULL authentication, Unix authentication, and DES authentication. (session only)
Input:
none
Output:
int

SUNRPC_GETVERF:
Returns the authentication verification used contained in an opaque byte string. (session only)
Input:
none
Output:
char *

SUNRPC_SETVERFTYPE:
Sets the type of authentication verification used. (session only)
Input:
int
Output:
none

SUNRPC_SETVERF:
Sets the authentication verification used contained in an opaque byte string (already xdr'ed) (session only)
Input:
char *
Output:
none

SUNRPC_SVCAUTHERR:
Causes session to return authentication error message and terminate. (session only)
Input:
char *
Output:
none

SUNRPC_SVCSYSTEMERR:
Causes session to return a system error message and terminate. (session only)
Input:
char *
Output:
none

CONFIGURATION
SUNRPC is a realm boundary protocol which assumes its lower protocol is symmetric (in the ASYNC realm.)

name=sunrpc protocols=udp;

AUTHORS
Sean O`Malley and Richard Schroeppel



Next: PMAP Up: Protocol Specifications Previous: SSR Test


Tue Nov 29 16:28:56 MST 1994