⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rpc.h

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 H
字号:
/* *	Cf. /lib/rfc/rfc1014, /lib/rfc/rfc1050 */enum Bool{	FALSE	= 0,	TRUE	= 1};enum Auth_flavor{	AUTH_NULL	= 0,	AUTH_UNIX	= 1,	AUTH_SHORT	= 2,	AUTH_DES	= 3};enum Msg_type{	CALL	= 0,	REPLY	= 1};/* * A reply to a call message can take on two forms: * The message was either accepted or rejected. */enum Reply_stat{	MSG_ACCEPTED	= 0,	MSG_DENIED	= 1};/* * Given that a call message was accepted, the following is the * status of an attempt to call a remote procedure. */enum Accept_stat{	SUCCESS		= 0,	/* RPC executed successfully       */	PROG_UNAVAIL	= 1,	/* remote hasn't exported program  */	PROG_MISMATCH	= 2,	/* remote can't support version #  */	PROC_UNAVAIL	= 3,	/* program can't support procedure */	GARBAGE_ARGS	= 4	/* procedure can't decode params   */};/* * Reasons why a call message was rejected: */enum Reject_stat{	RPC_MISMATCH	= 0,	/* RPC version number != 2          */	AUTH_ERROR	= 1	/* remote can't authenticate caller */};/* * Why authentication failed: */enum Auth_stat{	AUTH_BADCRED		= 1,	/* bad credentials (seal broken) */	AUTH_REJECTEDCRED	= 2,	/* client must begin new session */	AUTH_BADVERF		= 3,	/* bad verifier (seal broken)    */	AUTH_REJECTEDVERF	= 4,	/* verifier expired or replayed  */	AUTH_TOOWEAK		= 5	/* rejected for security reasons */};enum{	IPPROTO_TCP	= 6,	/* protocol number for TCP/IP */	IPPROTO_UDP	= 17	/* protocol number for UDP/IP */};#define	ROUNDUP(n)	((n) + ((-(n))&3))	#define	PLONG(x)	(dataptr[3] = ((ulong)(x)), dataptr[2] = ((ulong)(x))>>8, dataptr[1] = ((ulong)(x))>>16, dataptr[0] = ((ulong)(x))>>24, dataptr += 4)#define	PPTR(x, n)	(memmove(dataptr, (x), n), dataptr += ROUNDUP(n))#define	PBYTE(x)	(*dataptr++ = (x))#define	GLONG()		(argptr += 4, (((uchar*)argptr)[-1] | (((uchar*)argptr)[-2]<<8) | (((uchar*)argptr)[-3]<<16) | (((uchar*)argptr)[-4]<<24)))#define	GPTR(n)		(void *)(argptr); argptr += ROUNDUP(n)#define	GBYTE()	(argptr++, ((uchar*)argptr)[-1])

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -