📄 rpc.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 + -