/* * $Header: /proj/freeware1.0/nfswatch/nfswatch4.1/RCS/rpcdefs.h,v 1.1 1995/08/08 04:40:49 rck Exp $ * * rpcdefs.h - definitions for RPC processing code. * * David A. Curry Jeffrey C. Mogul * Purdue University Digital Equipment Corporation * Engineering Computer Network Western Research Laboratory * 1285 Electrical Engineering Building 250 University Avenue * West Lafayette, IN 47907-1285 Palo Alto, CA 94301 * davy@ecn.purdue.edu mogul@decwrl.dec.com * * $Log: rpcdefs.h,v $ * Revision 1.1 1995/08/08 04:40:49 rck * initial checkin * * Revision 4.1 1993/09/15 20:50:44 davy * GCC fixes from Guy Harris. * * Revision 4.0 1993/03/01 19:59:00 davy * NFSWATCH Version 4.0. * * Revision 3.3 1993/01/16 19:08:59 davy * Corrected Jeff's address. * * Revision 3.2 1993/01/15 19:33:39 davy * Miscellaneous cleanups. * * Revision 3.1 1993/01/13 20:18:17 davy * Put in OS-specific define scheme, and merged in Tim Hudson's code for * SGI systems (as yet untested). * * Revision 3.0 1991/01/23 08:23:19 davy * NFSWATCH Version 3.0. * * Revision 1.2 90/08/17 15:47:10 davy * NFSWATCH Version 2.0. * * Revision 1.1 88/11/29 11:20:30 davy * NFSWATCH Release 1.0 * */ #define NFS_READ 0 #define NFS_WRITE 1 /* * RPC programs, from "Remote Procedure Call Programming Guide", * Revision A, 9 May 1988, pp. 64-65. */ #define RPC_PMAPPROG ((u_long) 100000) /* portmapper */ #define RPC_RSTATPROG ((u_long) 100001) /* remote stats */ #define RPC_RUSERSPROG ((u_long) 100002) /* remote users */ #define RPC_NFSPROG ((u_long) 100003) /* NFS */ #define RPC_YPPROG ((u_long) 100004) /* Yellow Pages */ #define RPC_MOUNTPROG ((u_long) 100005) /* mount daemon */ #define RPC_DBXPROG ((u_long) 100006) /* remote dbx */ #define RPC_YPBINDPROG ((u_long) 100007) /* yp binder */ #define RPC_WALLPROG ((u_long) 100008) /* shutdown msg */ #define RPC_YPPASSWDPROG ((u_long) 100009) /* yppasswd server */ #define RPC_ETHERSTATPROG ((u_long) 100010) /* ether stats */ #define RPC_RQUOTAPROG ((u_long) 100011) /* disk quotas */ #define RPC_SPRAYPROG ((u_long) 100012) /* spray packets */ #define RPC_IBM3270PROG ((u_long) 100013) /* 3270 mapper */ #define RPC_IBMRJEPROG ((u_long) 100014) /* RJE mapper */ #define RPC_SELNSVCPROG ((u_long) 100015) /* selection service */ #define RPC_RDATABASEPROG ((u_long) 100016) /* remote database access */ #define RPC_REXECPROG ((u_long) 100017) /* remote execution */ #define RPC_ALICEPROG ((u_long) 100018) /* Alice Office Automation */ #define RPC_SCHEDPROG ((u_long) 100019) /* scheduling service */ #define RPC_LOCKPROG ((u_long) 100020) /* local lock manager */ #define RPC_NETLOCKPROG ((u_long) 100021) /* network lock manager */ #define RPC_X25PROG ((u_long) 100022) /* X.25 inr protocol */ #define RPC_STATMON1PROG ((u_long) 100023) /* status monitor 1 */ #define RPC_STATMON2PROG ((u_long) 100024) /* status monitor 2 */ #define RPC_SELNLIBPROG ((u_long) 100025) /* selection library */ #define RPC_BOOTPARAMPROG ((u_long) 100026) /* boot parameters service */ #define RPC_MAZEPROG ((u_long) 100027) /* mazewars game */ #define RPC_YPUPDATEPROG ((u_long) 100028) /* yp update */ #define RPC_KEYSERVEPROG ((u_long) 100029) /* key server */ #define RPC_SECURECMDPROG ((u_long) 100030) /* secure login */ #define RPC_NETFWDIPROG ((u_long) 100031) /* NFS net forwarder init */ #define RPC_NETFWDTPROG ((u_long) 100032) /* NFS net forwarder trans */ #define RPC_SUNLINKMAP_PROG ((u_long) 100033) /* sunlink MAP */ #define RPC_NETMONPROG ((u_long) 100034) /* network monitor */ #define RPC_DBASEPROG ((u_long) 100035) /* lightweight database */ #define RPC_PWDAUTHPROG ((u_long) 100036) /* password authorization */ #define RPC_TFSPROG ((u_long) 100037) /* translucent file svc */ #define RPC_NSEPROG ((u_long) 100038) /* nse server */ #define RPC_NSE_ACTIVATE_PROG ((u_long) 100039) /* nse activate daemon */ #define RPC_CACHEPROG ((u_long) 100301) /* nis+ cache */ #define RPC_CB_PROG ((u_long) 100302) /* nis+ callback */ #define RPC_PCNFSDPROG ((u_long) 150001) /* pc passwd authorization */ #define RPC_PYRAMIDLOCKINGPROG ((u_long) 200000) /* Pyramid-locking */ #define RPC_PYRAMIDSYS5 ((u_long) 200001) /* Pyramid-sys5 */ #define RPC_CADDS_IMAGE ((u_long) 200002) /* CV cadds_image */ #define RPC_ADT_RFLOCKPROG ((u_long) 300001) /* ADT file locking */ #ifdef NFSSERVER /* * Classification of NFS procedures. */ struct nfs_proc { int nfs_proctype; xdrproc_t nfs_xdrargs; int nfs_argsz; }; /* * NFS procedure argument structures. */ union nfs_rfsargs { fhandle_t fhandle; struct nfssaargs nfssaargs; struct nfsdiropargs nfsdiropargs; struct nfsreadargs nfsreadargs; struct nfswriteargs nfswriteargs; struct nfscreatargs nfscreatargs; struct nfsrnmargs nfsrnmargs; struct nfslinkargs nfslinkargs; struct nfsslargs nfsslargs; struct nfsrddirargs nfsrddirargs; }; /* * Macros for use with RPC stuff. */ #define min(a, b) ((a) < (b) ? (a) : (b)) #define rpc_buffer(xprt) ((xprt)->xp_p1) #define su_data(xprt) ((struct svcudp_data *)((xprt)->xp_p2)) /* * UDP service data. */ struct svcudp_data { u_int su_iosz; /* byte size of send/recv buffer */ u_long su_xid; /* transaction id */ XDR su_xdrs; /* XDR handle */ char su_verfbody[MAX_AUTH_BYTES]; /* verifier body */ }; #endif