1 /*
2  * Please do not edit this file.
3  * It was generated using rpcgen.
4  */
5 
6 #ifndef _KEY_PROT_H_RPCGEN
7 #define	_KEY_PROT_H_RPCGEN
8 
9 #include <rpc/rpc.h>
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 #pragma ident	"%Z%%M%	%I%	%E% SMI"
16 
17 /* Copyright (c)  1990, 1991 Sun Microsystems, Inc. */
18 
19 /*
20  * Compiled from key_prot.x using rpcgen.
21  * DO NOT EDIT THIS FILE!
22  * This is NOT source code!
23  */
24 #define	PROOT 3
25 #define	HEXMODULUS "d4a0ba0250b6fd2ec626e7efd637df76c716e22d0944b88b"
26 #define	HEXKEYBYTES 48
27 #define	KEYSIZE 192
28 #define	KEYBYTES 24
29 #define	KEYCHECKSUMSIZE 16
30 
31 enum keystatus {
32 	KEY_SUCCESS = 0,
33 	KEY_NOSECRET = 1,
34 	KEY_UNKNOWN = 2,
35 	KEY_SYSTEMERR = 3,
36 	KEY_BADALG = 4,
37 	KEY_BADLEN = 5
38 };
39 typedef enum keystatus keystatus;
40 
41 typedef char keybuf[HEXKEYBYTES];
42 
43 typedef struct {
44 	u_int keybuf3_len;
45 	char *keybuf3_val;
46 } keybuf3;
47 
48 typedef char *netnamestr;
49 
50 typedef int keylen_t;
51 
52 typedef int algtype_t;
53 
54 struct mechtype {
55 	keylen_t keylen;
56 	algtype_t algtype;
57 };
58 typedef struct mechtype mechtype;
59 
60 typedef int keynum_t;
61 
62 typedef struct {
63 	u_int deskeyarray_len;
64 	des_block *deskeyarray_val;
65 } deskeyarray;
66 
67 struct cryptkeyarg {
68 	netnamestr remotename;
69 	des_block deskey;
70 };
71 typedef struct cryptkeyarg cryptkeyarg;
72 
73 struct cryptkeyarg2 {
74 	netnamestr remotename;
75 	netobj remotekey;
76 	des_block deskey;
77 };
78 typedef struct cryptkeyarg2 cryptkeyarg2;
79 
80 struct cryptkeyarg3 {
81 	netnamestr remotename;
82 	keybuf3 remotekey;
83 	deskeyarray deskey;
84 	algtype_t algtype;
85 	keylen_t keylen;
86 };
87 typedef struct cryptkeyarg3 cryptkeyarg3;
88 
89 struct cryptkeyres {
90 	keystatus status;
91 	union {
92 		des_block deskey;
93 	} cryptkeyres_u;
94 };
95 typedef struct cryptkeyres cryptkeyres;
96 
97 struct cryptkeyres3 {
98 	keystatus status;
99 	union {
100 		deskeyarray deskey;
101 	} cryptkeyres3_u;
102 };
103 typedef struct cryptkeyres3 cryptkeyres3;
104 #define	MAXGIDS 16
105 
106 struct unixcred {
107 	u_int uid;
108 	u_int gid;
109 	struct {
110 		u_int gids_len;
111 		u_int *gids_val;
112 	} gids;
113 };
114 typedef struct unixcred unixcred;
115 
116 struct unixcred3 {
117 	u_int uid;
118 	u_int gid;
119 	struct {
120 		u_int gids_len;
121 		u_int *gids_val;
122 	} gids;
123 };
124 typedef struct unixcred3 unixcred3;
125 
126 struct getcredres {
127 	keystatus status;
128 	union {
129 		unixcred cred;
130 	} getcredres_u;
131 };
132 typedef struct getcredres getcredres;
133 
134 struct getcredres3 {
135 	keystatus status;
136 	union {
137 		unixcred3 cred;
138 	} getcredres3_u;
139 };
140 typedef struct getcredres3 getcredres3;
141 
142 struct key_netstarg {
143 	keybuf st_priv_key;
144 	keybuf st_pub_key;
145 	netnamestr st_netname;
146 };
147 typedef struct key_netstarg key_netstarg;
148 
149 struct key_netstarg3 {
150 	keybuf3 st_priv_key;
151 	keybuf3 st_pub_key;
152 	netnamestr st_netname;
153 	algtype_t algtype;
154 	keylen_t keylen;
155 	des_block userkey;
156 };
157 typedef struct key_netstarg3 key_netstarg3;
158 
159 struct key_netstres {
160 	keystatus status;
161 	union {
162 		key_netstarg knet;
163 	} key_netstres_u;
164 };
165 typedef struct key_netstres key_netstres;
166 
167 struct key_netstres3 {
168 	keystatus status;
169 	union {
170 		key_netstarg3 knet;
171 	} key_netstres3_u;
172 };
173 typedef struct key_netstres3 key_netstres3;
174 
175 struct deskeyarg3 {
176 	keybuf3 pub_key;
177 	int nkeys;
178 	algtype_t algtype;
179 	keylen_t keylen;
180 };
181 typedef struct deskeyarg3 deskeyarg3;
182 
183 struct setkeyarg3 {
184 	keybuf3 key;
185 	des_block userkey;
186 	algtype_t algtype;
187 	keylen_t keylen;
188 };
189 typedef struct setkeyarg3 setkeyarg3;
190 
191 #ifndef opaque
192 #define	opaque char
193 #endif
194 
195 
196 #define	KEY_PROG	100029
197 #define	KEY_VERS	1
198 
199 #if defined(__STDC__) || defined(__cplusplus)
200 #define	KEY_SET	1
201 extern  keystatus * key_set_1(char *, CLIENT *);
202 extern  keystatus * key_set_1_svc(char *, struct svc_req *);
203 #define	KEY_ENCRYPT	2
204 extern  cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *);
205 extern  cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *);
206 #define	KEY_DECRYPT	3
207 extern  cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *);
208 extern  cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *);
209 #define	KEY_GEN	4
210 extern  des_block * key_gen_1(void *, CLIENT *);
211 extern  des_block * key_gen_1_svc(void *, struct svc_req *);
212 #define	KEY_GETCRED	5
213 extern  getcredres * key_getcred_1(netnamestr *, CLIENT *);
214 extern  getcredres * key_getcred_1_svc(netnamestr *, struct svc_req *);
215 extern int key_prog_1_freeresult(SVCXPRT *, xdrproc_t, caddr_t);
216 
217 #else /* K&R C */
218 #define	KEY_SET	1
219 extern  keystatus * key_set_1();
220 extern  keystatus * key_set_1_svc();
221 #define	KEY_ENCRYPT	2
222 extern  cryptkeyres * key_encrypt_1();
223 extern  cryptkeyres * key_encrypt_1_svc();
224 #define	KEY_DECRYPT	3
225 extern  cryptkeyres * key_decrypt_1();
226 extern  cryptkeyres * key_decrypt_1_svc();
227 #define	KEY_GEN	4
228 extern  des_block * key_gen_1();
229 extern  des_block * key_gen_1_svc();
230 #define	KEY_GETCRED	5
231 extern  getcredres * key_getcred_1();
232 extern  getcredres * key_getcred_1_svc();
233 extern int key_prog_1_freeresult();
234 #endif /* K&R C */
235 #define	KEY_VERS2	2
236 
237 #if defined(__STDC__) || defined(__cplusplus)
238 extern  keystatus * key_set_2(char *, CLIENT *);
239 extern  keystatus * key_set_2_svc(char *, struct svc_req *);
240 extern  cryptkeyres * key_encrypt_2(cryptkeyarg *, CLIENT *);
241 extern  cryptkeyres * key_encrypt_2_svc(cryptkeyarg *, struct svc_req *);
242 extern  cryptkeyres * key_decrypt_2(cryptkeyarg *, CLIENT *);
243 extern  cryptkeyres * key_decrypt_2_svc(cryptkeyarg *, struct svc_req *);
244 extern  des_block * key_gen_2(void *, CLIENT *);
245 extern  des_block * key_gen_2_svc(void *, struct svc_req *);
246 extern  getcredres * key_getcred_2(netnamestr *, CLIENT *);
247 extern  getcredres * key_getcred_2_svc(netnamestr *, struct svc_req *);
248 #define	KEY_ENCRYPT_PK	6
249 extern  cryptkeyres * key_encrypt_pk_2(cryptkeyarg2 *, CLIENT *);
250 extern  cryptkeyres * key_encrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
251 #define	KEY_DECRYPT_PK	7
252 extern  cryptkeyres * key_decrypt_pk_2(cryptkeyarg2 *, CLIENT *);
253 extern  cryptkeyres * key_decrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
254 #define	KEY_NET_PUT	8
255 extern  keystatus * key_net_put_2(key_netstarg *, CLIENT *);
256 extern  keystatus * key_net_put_2_svc(key_netstarg *, struct svc_req *);
257 #define	KEY_NET_GET	9
258 extern  key_netstres * key_net_get_2(void *, CLIENT *);
259 extern  key_netstres * key_net_get_2_svc(void *, struct svc_req *);
260 #define	KEY_GET_CONV	10
261 extern  cryptkeyres * key_get_conv_2(char *, CLIENT *);
262 extern  cryptkeyres * key_get_conv_2_svc(char *, struct svc_req *);
263 extern int key_prog_2_freeresult(SVCXPRT *, xdrproc_t, caddr_t);
264 
265 #else /* K&R C */
266 extern  keystatus * key_set_2();
267 extern  keystatus * key_set_2_svc();
268 extern  cryptkeyres * key_encrypt_2();
269 extern  cryptkeyres * key_encrypt_2_svc();
270 extern  cryptkeyres * key_decrypt_2();
271 extern  cryptkeyres * key_decrypt_2_svc();
272 extern  des_block * key_gen_2();
273 extern  des_block * key_gen_2_svc();
274 extern  getcredres * key_getcred_2();
275 extern  getcredres * key_getcred_2_svc();
276 #define	KEY_ENCRYPT_PK	6
277 extern  cryptkeyres * key_encrypt_pk_2();
278 extern  cryptkeyres * key_encrypt_pk_2_svc();
279 #define	KEY_DECRYPT_PK	7
280 extern  cryptkeyres * key_decrypt_pk_2();
281 extern  cryptkeyres * key_decrypt_pk_2_svc();
282 #define	KEY_NET_PUT	8
283 extern  keystatus * key_net_put_2();
284 extern  keystatus * key_net_put_2_svc();
285 #define	KEY_NET_GET	9
286 extern  key_netstres * key_net_get_2();
287 extern  key_netstres * key_net_get_2_svc();
288 #define	KEY_GET_CONV	10
289 extern  cryptkeyres * key_get_conv_2();
290 extern  cryptkeyres * key_get_conv_2_svc();
291 extern int key_prog_2_freeresult();
292 #endif /* K&R C */
293 #define	KEY_VERS3	3
294 
295 #if defined(__STDC__) || defined(__cplusplus)
296 extern  keystatus * key_set_3(char *, CLIENT *);
297 extern  keystatus * key_set_3_svc(char *, struct svc_req *);
298 extern  cryptkeyres * key_encrypt_3(cryptkeyarg *, CLIENT *);
299 extern  cryptkeyres * key_encrypt_3_svc(cryptkeyarg *, struct svc_req *);
300 extern  cryptkeyres * key_decrypt_3(cryptkeyarg *, CLIENT *);
301 extern  cryptkeyres * key_decrypt_3_svc(cryptkeyarg *, struct svc_req *);
302 extern  des_block * key_gen_3(void *, CLIENT *);
303 extern  des_block * key_gen_3_svc(void *, struct svc_req *);
304 extern  getcredres * key_getcred_3(netnamestr *, CLIENT *);
305 extern  getcredres * key_getcred_3_svc(netnamestr *, struct svc_req *);
306 extern  cryptkeyres * key_encrypt_pk_3(cryptkeyarg2 *, CLIENT *);
307 extern  cryptkeyres * key_encrypt_pk_3_svc(cryptkeyarg2 *, struct svc_req *);
308 extern  cryptkeyres * key_decrypt_pk_3(cryptkeyarg2 *, CLIENT *);
309 extern  cryptkeyres * key_decrypt_pk_3_svc(cryptkeyarg2 *, struct svc_req *);
310 extern  keystatus * key_net_put_3(key_netstarg *, CLIENT *);
311 extern  keystatus * key_net_put_3_svc(key_netstarg *, struct svc_req *);
312 extern  key_netstres * key_net_get_3(void *, CLIENT *);
313 extern  key_netstres * key_net_get_3_svc(void *, struct svc_req *);
314 extern  cryptkeyres * key_get_conv_3(char *, CLIENT *);
315 extern  cryptkeyres * key_get_conv_3_svc(char *, struct svc_req *);
316 #define	KEY_SET_3	11
317 extern  keystatus * key_set_3_3(setkeyarg3 *, CLIENT *);
318 extern  keystatus * key_set_3_3_svc(setkeyarg3 *, struct svc_req *);
319 #define	KEY_ENCRYPT_3	12
320 extern  cryptkeyres3 * key_encrypt_3_3(cryptkeyarg3 *, CLIENT *);
321 extern  cryptkeyres3 * key_encrypt_3_3_svc(cryptkeyarg3 *, struct svc_req *);
322 #define	KEY_DECRYPT_3	13
323 extern  cryptkeyres3 * key_decrypt_3_3(cryptkeyarg3 *, CLIENT *);
324 extern  cryptkeyres3 * key_decrypt_3_3_svc(cryptkeyarg3 *, struct svc_req *);
325 #define	KEY_GEN_3	14
326 extern  deskeyarray * key_gen_3_3(keynum_t *, CLIENT *);
327 extern  deskeyarray * key_gen_3_3_svc(keynum_t *, struct svc_req *);
328 #define	KEY_GETCRED_3	15
329 extern  getcredres3 * key_getcred_3_3(netnamestr *, CLIENT *);
330 extern  getcredres3 * key_getcred_3_3_svc(netnamestr *, struct svc_req *);
331 #define	KEY_ENCRYPT_PK_3	16
332 extern  cryptkeyres3 * key_encrypt_pk_3_3(cryptkeyarg3 *, CLIENT *);
333 extern  cryptkeyres3 * key_encrypt_pk_3_3_svc(cryptkeyarg3 *, struct svc_req *);
334 #define	KEY_DECRYPT_PK_3	17
335 extern  cryptkeyres3 * key_decrypt_pk_3_3(cryptkeyarg3 *, CLIENT *);
336 extern  cryptkeyres3 * key_decrypt_pk_3_3_svc(cryptkeyarg3 *, struct svc_req *);
337 #define	KEY_NET_PUT_3	18
338 extern  keystatus * key_net_put_3_3(key_netstarg3 *, CLIENT *);
339 extern  keystatus * key_net_put_3_3_svc(key_netstarg3 *, struct svc_req *);
340 #define	KEY_NET_GET_3	19
341 extern  key_netstres3 * key_net_get_3_3(key_netstarg3 *, CLIENT *);
342 extern  key_netstres3 * key_net_get_3_3_svc(key_netstarg3 *, struct svc_req *);
343 #define	KEY_GET_CONV_3	20
344 extern  cryptkeyres3 * key_get_conv_3_3(deskeyarg3 *, CLIENT *);
345 extern  cryptkeyres3 * key_get_conv_3_3_svc(deskeyarg3 *, struct svc_req *);
346 #define	KEY_CLEAR_3	21
347 extern  keystatus * key_clear_3_3(void *, CLIENT *);
348 extern  keystatus * key_clear_3_3_svc(void *, struct svc_req *);
349 extern int key_prog_3_freeresult(SVCXPRT *, xdrproc_t, caddr_t);
350 
351 #else /* K&R C */
352 extern  keystatus * key_set_3();
353 extern  keystatus * key_set_3_svc();
354 extern  cryptkeyres * key_encrypt_3();
355 extern  cryptkeyres * key_encrypt_3_svc();
356 extern  cryptkeyres * key_decrypt_3();
357 extern  cryptkeyres * key_decrypt_3_svc();
358 extern  des_block * key_gen_3();
359 extern  des_block * key_gen_3_svc();
360 extern  getcredres * key_getcred_3();
361 extern  getcredres * key_getcred_3_svc();
362 extern  cryptkeyres * key_encrypt_pk_3();
363 extern  cryptkeyres * key_encrypt_pk_3_svc();
364 extern  cryptkeyres * key_decrypt_pk_3();
365 extern  cryptkeyres * key_decrypt_pk_3_svc();
366 extern  keystatus * key_net_put_3();
367 extern  keystatus * key_net_put_3_svc();
368 extern  key_netstres * key_net_get_3();
369 extern  key_netstres * key_net_get_3_svc();
370 extern  cryptkeyres * key_get_conv_3();
371 extern  cryptkeyres * key_get_conv_3_svc();
372 #define	KEY_SET_3	11
373 extern  keystatus * key_set_3_3();
374 extern  keystatus * key_set_3_3_svc();
375 #define	KEY_ENCRYPT_3	12
376 extern  cryptkeyres3 * key_encrypt_3_3();
377 extern  cryptkeyres3 * key_encrypt_3_3_svc();
378 #define	KEY_DECRYPT_3	13
379 extern  cryptkeyres3 * key_decrypt_3_3();
380 extern  cryptkeyres3 * key_decrypt_3_3_svc();
381 #define	KEY_GEN_3	14
382 extern  deskeyarray * key_gen_3_3();
383 extern  deskeyarray * key_gen_3_3_svc();
384 #define	KEY_GETCRED_3	15
385 extern  getcredres3 * key_getcred_3_3();
386 extern  getcredres3 * key_getcred_3_3_svc();
387 #define	KEY_ENCRYPT_PK_3	16
388 extern  cryptkeyres3 * key_encrypt_pk_3_3();
389 extern  cryptkeyres3 * key_encrypt_pk_3_3_svc();
390 #define	KEY_DECRYPT_PK_3	17
391 extern  cryptkeyres3 * key_decrypt_pk_3_3();
392 extern  cryptkeyres3 * key_decrypt_pk_3_3_svc();
393 #define	KEY_NET_PUT_3	18
394 extern  keystatus * key_net_put_3_3();
395 extern  keystatus * key_net_put_3_3_svc();
396 #define	KEY_NET_GET_3	19
397 extern  key_netstres3 * key_net_get_3_3();
398 extern  key_netstres3 * key_net_get_3_3_svc();
399 #define	KEY_GET_CONV_3	20
400 extern  cryptkeyres3 * key_get_conv_3_3();
401 extern  cryptkeyres3 * key_get_conv_3_3_svc();
402 #define	KEY_CLEAR_3	21
403 extern  keystatus * key_clear_3_3();
404 extern  keystatus * key_clear_3_3_svc();
405 extern int key_prog_3_freeresult();
406 #endif /* K&R C */
407 
408 /* the xdr functions */
409 
410 #if defined(__STDC__) || defined(__cplusplus)
411 extern  bool_t xdr_keystatus(XDR *, keystatus*);
412 extern  bool_t xdr_keybuf(XDR *, keybuf);
413 extern  bool_t xdr_keybuf3(XDR *, keybuf3*);
414 extern  bool_t xdr_netnamestr(XDR *, netnamestr*);
415 extern  bool_t xdr_keylen_t(XDR *, keylen_t*);
416 extern  bool_t xdr_algtype_t(XDR *, algtype_t*);
417 extern  bool_t xdr_mechtype(XDR *, mechtype*);
418 extern  bool_t xdr_keynum_t(XDR *, keynum_t*);
419 extern  bool_t xdr_deskeyarray(XDR *, deskeyarray*);
420 extern  bool_t xdr_cryptkeyarg(XDR *, cryptkeyarg*);
421 extern  bool_t xdr_cryptkeyarg2(XDR *, cryptkeyarg2*);
422 extern  bool_t xdr_cryptkeyarg3(XDR *, cryptkeyarg3*);
423 extern  bool_t xdr_cryptkeyres(XDR *, cryptkeyres*);
424 extern  bool_t xdr_cryptkeyres3(XDR *, cryptkeyres3*);
425 extern  bool_t xdr_unixcred(XDR *, unixcred*);
426 extern  bool_t xdr_unixcred3(XDR *, unixcred3*);
427 extern  bool_t xdr_getcredres(XDR *, getcredres*);
428 extern  bool_t xdr_getcredres3(XDR *, getcredres3*);
429 extern  bool_t xdr_key_netstarg(XDR *, key_netstarg*);
430 extern  bool_t xdr_key_netstarg3(XDR *, key_netstarg3*);
431 extern  bool_t xdr_key_netstres(XDR *, key_netstres*);
432 extern  bool_t xdr_key_netstres3(XDR *, key_netstres3*);
433 extern  bool_t xdr_deskeyarg3(XDR *, deskeyarg3*);
434 extern  bool_t xdr_setkeyarg3(XDR *, setkeyarg3*);
435 
436 #else /* K&R C */
437 extern bool_t xdr_keystatus();
438 extern bool_t xdr_keybuf();
439 extern bool_t xdr_keybuf3();
440 extern bool_t xdr_netnamestr();
441 extern bool_t xdr_keylen_t();
442 extern bool_t xdr_algtype_t();
443 extern bool_t xdr_mechtype();
444 extern bool_t xdr_keynum_t();
445 extern bool_t xdr_deskeyarray();
446 extern bool_t xdr_cryptkeyarg();
447 extern bool_t xdr_cryptkeyarg2();
448 extern bool_t xdr_cryptkeyarg3();
449 extern bool_t xdr_cryptkeyres();
450 extern bool_t xdr_cryptkeyres3();
451 extern bool_t xdr_unixcred();
452 extern bool_t xdr_unixcred3();
453 extern bool_t xdr_getcredres();
454 extern bool_t xdr_getcredres3();
455 extern bool_t xdr_key_netstarg();
456 extern bool_t xdr_key_netstarg3();
457 extern bool_t xdr_key_netstres();
458 extern bool_t xdr_key_netstres3();
459 extern bool_t xdr_deskeyarg3();
460 extern bool_t xdr_setkeyarg3();
461 
462 #endif /* K&R C */
463 
464 #ifdef __cplusplus
465 }
466 #endif
467 
468 #endif /* !_KEY_PROT_H_RPCGEN */
469