* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
* unrestricted use provided that this legend is included on all tape
* media and as a part of the software program in whole or part. Users
* may copy or modify Sun RPC without charge, but are not authorized
* to license or distribute it to anyone else except as part of a product or
* program developed by the user.
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
* Sun RPC is provided with no support and without any obligation on the
* part of Sun Microsystems, Inc. to assist in its use, correction,
* modification or enhancement.
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
* or profits or other special, indirect and consequential damages, even if
* Sun has been advised of the possibility of such damages.
* Mountain View, California 94043
/* @(#)rpc_msg.h 1.3 85/03/14 SMI */
* Copyright (C) 1984, Sun Microsystems, Inc.
#define RPC_MSG_VERSION ((u_long) 2)
#define RPC_SERVICE_PORT ((u_short) 2048)
* Bottom up definition of an rpc message.
* NOTE: call and reply use the same overall stuct but
* different parts of unions within it.
* Reply part of an rpc exchange
* Reply to an rpc request that was accepted by the server.
* Note: there could be an error even though the request was
struct opaque_auth ar_verf
;
enum accept_stat ar_stat
;
/* and many other null cases */
#define ar_results ru.AR_results
#define ar_vers ru.AR_versions
* Reply to an rpc request that was rejected by the server.
enum reject_stat rj_stat
;
enum auth_stat RJ_why
; /* why authentication did not work */
#define rj_vers ru.RJ_versions
* Body of a reply to an rpc request.
struct accepted_reply RP_ar
;
struct rejected_reply RP_dr
;
* Body of an rpc request call.
u_long cb_rpcvers
; /* must be equal to two */
struct opaque_auth cb_cred
;
struct opaque_auth cb_verf
; /* protocol specific - provided by client */
enum msg_type rm_direction
;
struct reply_body RM_rmb
;
#define rm_call ru.RM_cmb
#define rm_reply ru.RM_rmb
#define acpted_rply ru.RM_rmb.ru.RP_ar
#define rjcted_rply ru.RM_rmb.ru.RP_dr
* XDR routine to handle a rpc message.
* xdr_callmsg(xdrs, cmsg)
extern bool_t
xdr_callmsg();
* XDR routine to pre-serialize the static part of a rpc message.
* xdr_callhdr(xdrs, cmsg)
extern bool_t
xdr_callhdr();
* XDR routine to handle a rpc reply.
* xdr_replymsg(xdrs, rmsg)
extern bool_t
xdr_replymsg();
* Fills in the error part of a reply message.
* _seterr_reply(msg, error)
extern void _seterr_reply();