1*53ee8cc1Swenshuai.xi /* 2*53ee8cc1Swenshuai.xi * Please do not edit this file. 3*53ee8cc1Swenshuai.xi * It was generated using rpcgen. 4*53ee8cc1Swenshuai.xi */ 5*53ee8cc1Swenshuai.xi 6*53ee8cc1Swenshuai.xi #ifndef _KEY_PROT_H_RPCGEN 7*53ee8cc1Swenshuai.xi #define _KEY_PROT_H_RPCGEN 8*53ee8cc1Swenshuai.xi 9*53ee8cc1Swenshuai.xi #include <rpc/rpc.h> 10*53ee8cc1Swenshuai.xi 11*53ee8cc1Swenshuai.xi 12*53ee8cc1Swenshuai.xi #ifdef __cplusplus 13*53ee8cc1Swenshuai.xi extern "C" { 14*53ee8cc1Swenshuai.xi #endif 15*53ee8cc1Swenshuai.xi 16*53ee8cc1Swenshuai.xi /* 17*53ee8cc1Swenshuai.xi * Sun RPC is a product of Sun Microsystems, Inc. and is provided for 18*53ee8cc1Swenshuai.xi * unrestricted use provided that this legend is included on all tape 19*53ee8cc1Swenshuai.xi * media and as a part of the software program in whole or part. Users 20*53ee8cc1Swenshuai.xi * may copy or modify Sun RPC without charge, but are not authorized 21*53ee8cc1Swenshuai.xi * to license or distribute it to anyone else except as part of a product or 22*53ee8cc1Swenshuai.xi * program developed by the user. 23*53ee8cc1Swenshuai.xi * 24*53ee8cc1Swenshuai.xi * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE 25*53ee8cc1Swenshuai.xi * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR 26*53ee8cc1Swenshuai.xi * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. 27*53ee8cc1Swenshuai.xi * 28*53ee8cc1Swenshuai.xi * Sun RPC is provided with no support and without any obligation on the 29*53ee8cc1Swenshuai.xi * part of Sun Microsystems, Inc. to assist in its use, correction, 30*53ee8cc1Swenshuai.xi * modification or enhancement. 31*53ee8cc1Swenshuai.xi * 32*53ee8cc1Swenshuai.xi * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE 33*53ee8cc1Swenshuai.xi * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC 34*53ee8cc1Swenshuai.xi * OR ANY PART THEREOF. 35*53ee8cc1Swenshuai.xi * 36*53ee8cc1Swenshuai.xi * In no event will Sun Microsystems, Inc. be liable for any lost revenue 37*53ee8cc1Swenshuai.xi * or profits or other special, indirect and consequential damages, even if 38*53ee8cc1Swenshuai.xi * Sun has been advised of the possibility of such damages. 39*53ee8cc1Swenshuai.xi * 40*53ee8cc1Swenshuai.xi * Sun Microsystems, Inc. 41*53ee8cc1Swenshuai.xi * 2550 Garcia Avenue 42*53ee8cc1Swenshuai.xi * Mountain View, California 94043 43*53ee8cc1Swenshuai.xi */ 44*53ee8cc1Swenshuai.xi #if 0 45*53ee8cc1Swenshuai.xi #pragma ident "@(#)key_prot.x 1.7 94/04/29 SMI" 46*53ee8cc1Swenshuai.xi #endif 47*53ee8cc1Swenshuai.xi 48*53ee8cc1Swenshuai.xi /* Copyright (c) 1990, 1991 Sun Microsystems, Inc. */ 49*53ee8cc1Swenshuai.xi 50*53ee8cc1Swenshuai.xi /* 51*53ee8cc1Swenshuai.xi * Compiled from key_prot.x using rpcgen. 52*53ee8cc1Swenshuai.xi * DO NOT EDIT THIS FILE! 53*53ee8cc1Swenshuai.xi * This is NOT source code! 54*53ee8cc1Swenshuai.xi */ 55*53ee8cc1Swenshuai.xi #define PROOT 3 56*53ee8cc1Swenshuai.xi #define HEXMODULUS "d4a0ba0250b6fd2ec626e7efd637df76c716e22d0944b88b" 57*53ee8cc1Swenshuai.xi #define HEXKEYBYTES 48 58*53ee8cc1Swenshuai.xi #define KEYSIZE 192 59*53ee8cc1Swenshuai.xi #define KEYBYTES 24 60*53ee8cc1Swenshuai.xi #define KEYCHECKSUMSIZE 16 61*53ee8cc1Swenshuai.xi 62*53ee8cc1Swenshuai.xi enum keystatus { 63*53ee8cc1Swenshuai.xi KEY_SUCCESS = 0, 64*53ee8cc1Swenshuai.xi KEY_NOSECRET = 1, 65*53ee8cc1Swenshuai.xi KEY_UNKNOWN = 2, 66*53ee8cc1Swenshuai.xi KEY_SYSTEMERR = 3, 67*53ee8cc1Swenshuai.xi }; 68*53ee8cc1Swenshuai.xi typedef enum keystatus keystatus; 69*53ee8cc1Swenshuai.xi 70*53ee8cc1Swenshuai.xi typedef char keybuf[HEXKEYBYTES]; 71*53ee8cc1Swenshuai.xi 72*53ee8cc1Swenshuai.xi typedef char *netnamestr; 73*53ee8cc1Swenshuai.xi 74*53ee8cc1Swenshuai.xi struct cryptkeyarg { 75*53ee8cc1Swenshuai.xi netnamestr remotename; 76*53ee8cc1Swenshuai.xi des_block deskey; 77*53ee8cc1Swenshuai.xi }; 78*53ee8cc1Swenshuai.xi typedef struct cryptkeyarg cryptkeyarg; 79*53ee8cc1Swenshuai.xi 80*53ee8cc1Swenshuai.xi struct cryptkeyarg2 { 81*53ee8cc1Swenshuai.xi netnamestr remotename; 82*53ee8cc1Swenshuai.xi netobj remotekey; 83*53ee8cc1Swenshuai.xi des_block deskey; 84*53ee8cc1Swenshuai.xi }; 85*53ee8cc1Swenshuai.xi typedef struct cryptkeyarg2 cryptkeyarg2; 86*53ee8cc1Swenshuai.xi 87*53ee8cc1Swenshuai.xi struct cryptkeyres { 88*53ee8cc1Swenshuai.xi keystatus status; 89*53ee8cc1Swenshuai.xi union { 90*53ee8cc1Swenshuai.xi des_block deskey; 91*53ee8cc1Swenshuai.xi } cryptkeyres_u; 92*53ee8cc1Swenshuai.xi }; 93*53ee8cc1Swenshuai.xi typedef struct cryptkeyres cryptkeyres; 94*53ee8cc1Swenshuai.xi #define MAXGIDS 16 95*53ee8cc1Swenshuai.xi 96*53ee8cc1Swenshuai.xi struct unixcred { 97*53ee8cc1Swenshuai.xi u_int uid; 98*53ee8cc1Swenshuai.xi u_int gid; 99*53ee8cc1Swenshuai.xi struct { 100*53ee8cc1Swenshuai.xi u_int gids_len; 101*53ee8cc1Swenshuai.xi u_int *gids_val; 102*53ee8cc1Swenshuai.xi } gids; 103*53ee8cc1Swenshuai.xi }; 104*53ee8cc1Swenshuai.xi typedef struct unixcred unixcred; 105*53ee8cc1Swenshuai.xi 106*53ee8cc1Swenshuai.xi struct getcredres { 107*53ee8cc1Swenshuai.xi keystatus status; 108*53ee8cc1Swenshuai.xi union { 109*53ee8cc1Swenshuai.xi unixcred cred; 110*53ee8cc1Swenshuai.xi } getcredres_u; 111*53ee8cc1Swenshuai.xi }; 112*53ee8cc1Swenshuai.xi typedef struct getcredres getcredres; 113*53ee8cc1Swenshuai.xi 114*53ee8cc1Swenshuai.xi struct key_netstarg { 115*53ee8cc1Swenshuai.xi keybuf st_priv_key; 116*53ee8cc1Swenshuai.xi keybuf st_pub_key; 117*53ee8cc1Swenshuai.xi netnamestr st_netname; 118*53ee8cc1Swenshuai.xi }; 119*53ee8cc1Swenshuai.xi typedef struct key_netstarg key_netstarg; 120*53ee8cc1Swenshuai.xi 121*53ee8cc1Swenshuai.xi struct key_netstres { 122*53ee8cc1Swenshuai.xi keystatus status; 123*53ee8cc1Swenshuai.xi union { 124*53ee8cc1Swenshuai.xi key_netstarg knet; 125*53ee8cc1Swenshuai.xi } key_netstres_u; 126*53ee8cc1Swenshuai.xi }; 127*53ee8cc1Swenshuai.xi typedef struct key_netstres key_netstres; 128*53ee8cc1Swenshuai.xi 129*53ee8cc1Swenshuai.xi #ifndef opaque 130*53ee8cc1Swenshuai.xi #define opaque char 131*53ee8cc1Swenshuai.xi #endif 132*53ee8cc1Swenshuai.xi 133*53ee8cc1Swenshuai.xi 134*53ee8cc1Swenshuai.xi #define KEY_PROG 100029 135*53ee8cc1Swenshuai.xi #define KEY_VERS 1 136*53ee8cc1Swenshuai.xi 137*53ee8cc1Swenshuai.xi #if defined(__STDC__) || defined(__cplusplus) 138*53ee8cc1Swenshuai.xi #define KEY_SET 1 139*53ee8cc1Swenshuai.xi extern keystatus * key_set_1(char *, CLIENT *); 140*53ee8cc1Swenshuai.xi extern keystatus * key_set_1_svc(char *, struct svc_req *); 141*53ee8cc1Swenshuai.xi #define KEY_ENCRYPT 2 142*53ee8cc1Swenshuai.xi extern cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *); 143*53ee8cc1Swenshuai.xi extern cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *); 144*53ee8cc1Swenshuai.xi #define KEY_DECRYPT 3 145*53ee8cc1Swenshuai.xi extern cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *); 146*53ee8cc1Swenshuai.xi extern cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *); 147*53ee8cc1Swenshuai.xi #define KEY_GEN 4 148*53ee8cc1Swenshuai.xi extern des_block * key_gen_1(void *, CLIENT *); 149*53ee8cc1Swenshuai.xi extern des_block * key_gen_1_svc(void *, struct svc_req *); 150*53ee8cc1Swenshuai.xi #define KEY_GETCRED 5 151*53ee8cc1Swenshuai.xi extern getcredres * key_getcred_1(netnamestr *, CLIENT *); 152*53ee8cc1Swenshuai.xi extern getcredres * key_getcred_1_svc(netnamestr *, struct svc_req *); 153*53ee8cc1Swenshuai.xi extern int key_prog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t); 154*53ee8cc1Swenshuai.xi 155*53ee8cc1Swenshuai.xi #else /* K&R C */ 156*53ee8cc1Swenshuai.xi #define KEY_SET 1 157*53ee8cc1Swenshuai.xi extern keystatus * key_set_1(); 158*53ee8cc1Swenshuai.xi extern keystatus * key_set_1_svc(); 159*53ee8cc1Swenshuai.xi #define KEY_ENCRYPT 2 160*53ee8cc1Swenshuai.xi extern cryptkeyres * key_encrypt_1(); 161*53ee8cc1Swenshuai.xi extern cryptkeyres * key_encrypt_1_svc(); 162*53ee8cc1Swenshuai.xi #define KEY_DECRYPT 3 163*53ee8cc1Swenshuai.xi extern cryptkeyres * key_decrypt_1(); 164*53ee8cc1Swenshuai.xi extern cryptkeyres * key_decrypt_1_svc(); 165*53ee8cc1Swenshuai.xi #define KEY_GEN 4 166*53ee8cc1Swenshuai.xi extern des_block * key_gen_1(); 167*53ee8cc1Swenshuai.xi extern des_block * key_gen_1_svc(); 168*53ee8cc1Swenshuai.xi #define KEY_GETCRED 5 169*53ee8cc1Swenshuai.xi extern getcredres * key_getcred_1(); 170*53ee8cc1Swenshuai.xi extern getcredres * key_getcred_1_svc(); 171*53ee8cc1Swenshuai.xi extern int key_prog_1_freeresult (); 172*53ee8cc1Swenshuai.xi #endif /* K&R C */ 173*53ee8cc1Swenshuai.xi #define KEY_VERS2 2 174*53ee8cc1Swenshuai.xi 175*53ee8cc1Swenshuai.xi #if defined(__STDC__) || defined(__cplusplus) 176*53ee8cc1Swenshuai.xi extern keystatus * key_set_2(char *, CLIENT *); 177*53ee8cc1Swenshuai.xi extern keystatus * key_set_2_svc(char *, struct svc_req *); 178*53ee8cc1Swenshuai.xi extern cryptkeyres * key_encrypt_2(cryptkeyarg *, CLIENT *); 179*53ee8cc1Swenshuai.xi extern cryptkeyres * key_encrypt_2_svc(cryptkeyarg *, struct svc_req *); 180*53ee8cc1Swenshuai.xi extern cryptkeyres * key_decrypt_2(cryptkeyarg *, CLIENT *); 181*53ee8cc1Swenshuai.xi extern cryptkeyres * key_decrypt_2_svc(cryptkeyarg *, struct svc_req *); 182*53ee8cc1Swenshuai.xi extern des_block * key_gen_2(void *, CLIENT *); 183*53ee8cc1Swenshuai.xi extern des_block * key_gen_2_svc(void *, struct svc_req *); 184*53ee8cc1Swenshuai.xi extern getcredres * key_getcred_2(netnamestr *, CLIENT *); 185*53ee8cc1Swenshuai.xi extern getcredres * key_getcred_2_svc(netnamestr *, struct svc_req *); 186*53ee8cc1Swenshuai.xi #define KEY_ENCRYPT_PK 6 187*53ee8cc1Swenshuai.xi extern cryptkeyres * key_encrypt_pk_2(cryptkeyarg2 *, CLIENT *); 188*53ee8cc1Swenshuai.xi extern cryptkeyres * key_encrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *); 189*53ee8cc1Swenshuai.xi #define KEY_DECRYPT_PK 7 190*53ee8cc1Swenshuai.xi extern cryptkeyres * key_decrypt_pk_2(cryptkeyarg2 *, CLIENT *); 191*53ee8cc1Swenshuai.xi extern cryptkeyres * key_decrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *); 192*53ee8cc1Swenshuai.xi #define KEY_NET_PUT 8 193*53ee8cc1Swenshuai.xi extern keystatus * key_net_put_2(key_netstarg *, CLIENT *); 194*53ee8cc1Swenshuai.xi extern keystatus * key_net_put_2_svc(key_netstarg *, struct svc_req *); 195*53ee8cc1Swenshuai.xi #define KEY_NET_GET 9 196*53ee8cc1Swenshuai.xi extern key_netstres * key_net_get_2(void *, CLIENT *); 197*53ee8cc1Swenshuai.xi extern key_netstres * key_net_get_2_svc(void *, struct svc_req *); 198*53ee8cc1Swenshuai.xi #define KEY_GET_CONV 10 199*53ee8cc1Swenshuai.xi extern cryptkeyres * key_get_conv_2(char *, CLIENT *); 200*53ee8cc1Swenshuai.xi extern cryptkeyres * key_get_conv_2_svc(char *, struct svc_req *); 201*53ee8cc1Swenshuai.xi extern int key_prog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t); 202*53ee8cc1Swenshuai.xi 203*53ee8cc1Swenshuai.xi #else /* K&R C */ 204*53ee8cc1Swenshuai.xi extern keystatus * key_set_2(); 205*53ee8cc1Swenshuai.xi extern keystatus * key_set_2_svc(); 206*53ee8cc1Swenshuai.xi extern cryptkeyres * key_encrypt_2(); 207*53ee8cc1Swenshuai.xi extern cryptkeyres * key_encrypt_2_svc(); 208*53ee8cc1Swenshuai.xi extern cryptkeyres * key_decrypt_2(); 209*53ee8cc1Swenshuai.xi extern cryptkeyres * key_decrypt_2_svc(); 210*53ee8cc1Swenshuai.xi extern des_block * key_gen_2(); 211*53ee8cc1Swenshuai.xi extern des_block * key_gen_2_svc(); 212*53ee8cc1Swenshuai.xi extern getcredres * key_getcred_2(); 213*53ee8cc1Swenshuai.xi extern getcredres * key_getcred_2_svc(); 214*53ee8cc1Swenshuai.xi #define KEY_ENCRYPT_PK 6 215*53ee8cc1Swenshuai.xi extern cryptkeyres * key_encrypt_pk_2(); 216*53ee8cc1Swenshuai.xi extern cryptkeyres * key_encrypt_pk_2_svc(); 217*53ee8cc1Swenshuai.xi #define KEY_DECRYPT_PK 7 218*53ee8cc1Swenshuai.xi extern cryptkeyres * key_decrypt_pk_2(); 219*53ee8cc1Swenshuai.xi extern cryptkeyres * key_decrypt_pk_2_svc(); 220*53ee8cc1Swenshuai.xi #define KEY_NET_PUT 8 221*53ee8cc1Swenshuai.xi extern keystatus * key_net_put_2(); 222*53ee8cc1Swenshuai.xi extern keystatus * key_net_put_2_svc(); 223*53ee8cc1Swenshuai.xi #define KEY_NET_GET 9 224*53ee8cc1Swenshuai.xi extern key_netstres * key_net_get_2(); 225*53ee8cc1Swenshuai.xi extern key_netstres * key_net_get_2_svc(); 226*53ee8cc1Swenshuai.xi #define KEY_GET_CONV 10 227*53ee8cc1Swenshuai.xi extern cryptkeyres * key_get_conv_2(); 228*53ee8cc1Swenshuai.xi extern cryptkeyres * key_get_conv_2_svc(); 229*53ee8cc1Swenshuai.xi extern int key_prog_2_freeresult (); 230*53ee8cc1Swenshuai.xi #endif /* K&R C */ 231*53ee8cc1Swenshuai.xi 232*53ee8cc1Swenshuai.xi /* the xdr functions */ 233*53ee8cc1Swenshuai.xi 234*53ee8cc1Swenshuai.xi #if defined(__STDC__) || defined(__cplusplus) 235*53ee8cc1Swenshuai.xi extern bool_t xdr_keystatus (XDR *, keystatus*); 236*53ee8cc1Swenshuai.xi extern bool_t xdr_keybuf (XDR *, keybuf); 237*53ee8cc1Swenshuai.xi extern bool_t xdr_netnamestr (XDR *, netnamestr*); 238*53ee8cc1Swenshuai.xi extern bool_t xdr_cryptkeyarg (XDR *, cryptkeyarg*); 239*53ee8cc1Swenshuai.xi extern bool_t xdr_cryptkeyarg2 (XDR *, cryptkeyarg2*); 240*53ee8cc1Swenshuai.xi extern bool_t xdr_cryptkeyres (XDR *, cryptkeyres*); 241*53ee8cc1Swenshuai.xi extern bool_t xdr_unixcred (XDR *, unixcred*); 242*53ee8cc1Swenshuai.xi extern bool_t xdr_getcredres (XDR *, getcredres*); 243*53ee8cc1Swenshuai.xi extern bool_t xdr_key_netstarg (XDR *, key_netstarg*); 244*53ee8cc1Swenshuai.xi extern bool_t xdr_key_netstres (XDR *, key_netstres*); 245*53ee8cc1Swenshuai.xi 246*53ee8cc1Swenshuai.xi #else /* K&R C */ 247*53ee8cc1Swenshuai.xi extern bool_t xdr_keystatus (); 248*53ee8cc1Swenshuai.xi extern bool_t xdr_keybuf (); 249*53ee8cc1Swenshuai.xi extern bool_t xdr_netnamestr (); 250*53ee8cc1Swenshuai.xi extern bool_t xdr_cryptkeyarg (); 251*53ee8cc1Swenshuai.xi extern bool_t xdr_cryptkeyarg2 (); 252*53ee8cc1Swenshuai.xi extern bool_t xdr_cryptkeyres (); 253*53ee8cc1Swenshuai.xi extern bool_t xdr_unixcred (); 254*53ee8cc1Swenshuai.xi extern bool_t xdr_getcredres (); 255*53ee8cc1Swenshuai.xi extern bool_t xdr_key_netstarg (); 256*53ee8cc1Swenshuai.xi extern bool_t xdr_key_netstres (); 257*53ee8cc1Swenshuai.xi 258*53ee8cc1Swenshuai.xi #endif /* K&R C */ 259*53ee8cc1Swenshuai.xi 260*53ee8cc1Swenshuai.xi #ifdef __cplusplus 261*53ee8cc1Swenshuai.xi } 262*53ee8cc1Swenshuai.xi #endif 263*53ee8cc1Swenshuai.xi 264*53ee8cc1Swenshuai.xi #endif /* !_KEY_PROT_H_RPCGEN */ 265