rpc_cut.h
来自「Ubuntu packages of security software。 相」· C头文件 代码 · 共 119 行
H
119 行
/* * Copyright (c) 1999, 2000 * Politecnico di Torino. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that: (1) source code distributions * retain the above copyright notice and this paragraph in its entirety, (2) * distributions including binary code include the above copyright notice and * this paragraph in its entirety in the documentation or other materials * provided with the distribution, and (3) all advertising materials mentioning * features or use of this software display the following acknowledgement: * ``This product includes software developed by the Politecnico * di Torino, and its contributors.'' Neither the name of * the University nor the names of its contributors may be used to endorse * or promote products derived from this software without specific prior * written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */#define u_long unsigned long#define u_int unsigned int#define u_short unsigned short#define enum_t int#define caddr_t char*struct opaque_auth { enum_t oa_flavor; /* flavor of auth */ caddr_t oa_base; /* address of more auth stuff */ u_int oa_length; /* not to exceed MAX_AUTH_BYTES */};struct accepted_reply { struct opaque_auth ar_verf; enum accept_stat ar_stat; union { struct { u_long low; u_long high; } AR_versions; /*struct { caddr_t where; xdrproc_t proc; } AR_results; /* and many other null cases */ } ru;#define ar_results ru.AR_results#define ar_vers ru.AR_versions};struct rejected_reply { enum reject_stat rj_stat; union { struct { u_long low; u_long high; } RJ_versions; enum auth_stat RJ_why; /* why authentication did not work */ } ru;#define rj_vers ru.RJ_versions#define rj_why ru.RJ_why};struct reply_body { enum reply_stat rp_stat; union { struct accepted_reply RP_ar; struct rejected_reply RP_dr; } ru;#define rp_acpt ru.RP_ar#define rp_rjct ru.RP_dr};struct call_body { u_long cb_rpcvers; /* must be equal to two */ u_long cb_prog; u_long cb_vers; u_long cb_proc; struct opaque_auth cb_cred; struct opaque_auth cb_verf; /* protocol specific - provided by client */};struct rpc_msg { u_long rm_xid; enum msg_type rm_direction; union { struct call_body RM_cmb; struct reply_body RM_rmb; } ru;#define rm_call ru.RM_cmb#define rm_reply ru.RM_rmb};#define MSG_ACCEPTED 0#define MSG_DENIED 1#define SUCCESS 0#define PROG_UNAVAIL 1#define PROG_MISMATCH 2#define PROC_UNAVAIL 3#define GARBAGE_ARGS 4#define SYSTEM_ERR 5#define PMAPPORT ((u_short)111)#define PMAPPROG ((u_long)100000)#define PMAPVERS ((u_long)2)#define PMAPVERS_PROTO ((u_long)2)#define PMAPVERS_ORIG ((u_long)1)#define PMAPPROC_NULL ((u_long)0)#define PMAPPROC_SET ((u_long)1)#define PMAPPROC_UNSET ((u_long)2)#define PMAPPROC_GETPORT ((u_long)3)#define PMAPPROC_DUMP ((u_long)4)#define PMAPPROC_CALLIT ((u_long)5)#define CALL 0#define REPLY 1
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?