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