Novell Database Abstraction Layer merge.
[krb5.git] / src / lib / kadm5 / kadm_rpc.h
1 #ifndef __KADM_RPC_H__
2 #define __KADM_RPC_H__
3
4 #include <gssrpc/types.h>
5
6 #include        <krb5.h>
7 #include        <kadm5/admin.h>
8
9 struct cprinc_arg {
10         krb5_ui_4 api_version;
11         kadm5_principal_ent_rec rec;
12         long mask;
13         char *passwd;
14 };
15 typedef struct cprinc_arg cprinc_arg;
16 bool_t xdr_cprinc_arg();
17
18 struct cprinc3_arg {
19         krb5_ui_4 api_version;
20         kadm5_principal_ent_rec rec;
21         long mask;
22         int n_ks_tuple;
23         krb5_key_salt_tuple *ks_tuple;
24         char *passwd;
25 };
26 typedef struct cprinc3_arg cprinc3_arg;
27 bool_t xdr_cprinc3_arg();
28
29 struct generic_ret {
30         krb5_ui_4 api_version;
31         kadm5_ret_t code;
32         char *err_str;
33 };
34 typedef struct generic_ret generic_ret;
35 bool_t xdr_generic_ret();
36
37 struct dprinc_arg {
38         krb5_ui_4 api_version;
39         krb5_principal princ;
40 };
41 typedef struct dprinc_arg dprinc_arg;
42 bool_t xdr_dprinc_arg();
43
44 struct mprinc_arg {
45         krb5_ui_4 api_version;
46         kadm5_principal_ent_rec rec;
47         long mask;
48 };
49 typedef struct mprinc_arg mprinc_arg;
50 bool_t xdr_mprinc_arg();
51
52 struct rprinc_arg {
53         krb5_ui_4 api_version;
54         krb5_principal src;
55         krb5_principal dest;
56 };
57 typedef struct rprinc_arg rprinc_arg;
58 bool_t xdr_rprinc_arg();
59
60 struct gprincs_arg {
61         krb5_ui_4 api_version;
62         char *exp;
63 };
64 typedef struct gprincs_arg gprincs_arg;
65 bool_t xdr_gprincs_arg();
66
67 struct gprincs_ret {
68         krb5_ui_4 api_version;
69         kadm5_ret_t code;
70         char **princs;
71         int count;
72         char *err_str;
73 };
74 typedef struct gprincs_ret gprincs_ret;
75 bool_t xdr_gprincs_ret();
76
77 struct chpass_arg {
78         krb5_ui_4 api_version;
79         krb5_principal princ;
80         char *pass;
81 };
82 typedef struct chpass_arg chpass_arg;
83 bool_t xdr_chpass_arg();
84
85 struct chpass3_arg {
86         krb5_ui_4 api_version;
87         krb5_principal princ;
88         krb5_boolean keepold;
89         int n_ks_tuple;
90         krb5_key_salt_tuple *ks_tuple;
91         char *pass;
92 };
93 typedef struct chpass3_arg chpass3_arg;
94 bool_t xdr_chpass3_arg();
95
96 struct setv4key_arg {
97         krb5_ui_4 api_version;
98         krb5_principal princ;
99         krb5_keyblock *keyblock;
100 };
101 typedef struct setv4key_arg setv4key_arg;
102 bool_t xdr_setv4key_arg();
103
104 struct setkey_arg {
105         krb5_ui_4 api_version;
106         krb5_principal princ;
107         krb5_keyblock *keyblocks;
108         int n_keys;
109 };
110 typedef struct setkey_arg setkey_arg;
111 bool_t xdr_setkey_arg();
112
113 struct setkey3_arg {
114         krb5_ui_4 api_version;
115         krb5_principal princ;
116         krb5_boolean keepold;
117         int n_ks_tuple;
118         krb5_key_salt_tuple *ks_tuple;
119         krb5_keyblock *keyblocks;
120         int n_keys;
121 };
122 typedef struct setkey3_arg setkey3_arg;
123 bool_t xdr_setkey3_arg();
124
125 struct chrand_arg {
126         krb5_ui_4 api_version;
127         krb5_principal princ;
128 };
129 typedef struct chrand_arg chrand_arg;
130 bool_t xdr_chrand_arg();
131
132 struct chrand3_arg {
133         krb5_ui_4 api_version;
134         krb5_principal princ;
135         krb5_boolean keepold;
136         int n_ks_tuple;
137         krb5_key_salt_tuple *ks_tuple;
138 };
139 typedef struct chrand3_arg chrand3_arg;
140 bool_t xdr_chrand3_arg();
141
142 struct chrand_ret {
143         krb5_ui_4 api_version;
144         kadm5_ret_t code;
145         krb5_keyblock key;
146         krb5_keyblock *keys;
147         int n_keys;
148         char *err_str;
149 };
150 typedef struct chrand_ret chrand_ret;
151 bool_t xdr_chrand_ret();
152
153 struct gprinc_arg {
154         krb5_ui_4 api_version;
155         krb5_principal princ;
156         long mask;
157 };
158 typedef struct gprinc_arg gprinc_arg;
159 bool_t xdr_gprinc_arg();
160
161 struct gprinc_ret {
162         krb5_ui_4 api_version;
163         kadm5_ret_t code;
164         kadm5_principal_ent_rec rec;
165         char *err_str;
166 };
167 typedef struct gprinc_ret gprinc_ret;
168 bool_t xdr_gprinc_ret();
169 bool_t xdr_kadm5_ret_t();
170 bool_t xdr_kadm5_principal_ent_rec();
171 bool_t xdr_kadm5_policy_ent_rec();
172 bool_t  xdr_krb5_keyblock();
173 bool_t  xdr_krb5_principal();
174 bool_t  xdr_krb5_enctype();
175 bool_t  xdr_krb5_octet();
176 bool_t  xdr_krb5_int32();
177 bool_t  xdr_u_int32();
178
179 struct cpol_arg {
180         krb5_ui_4 api_version;
181         kadm5_policy_ent_rec rec;
182         long mask;
183 };
184 typedef struct cpol_arg cpol_arg;
185 bool_t xdr_cpol_arg();
186
187 struct dpol_arg {
188         krb5_ui_4 api_version;
189         char *name;
190 };
191 typedef struct dpol_arg dpol_arg;
192 bool_t xdr_dpol_arg();
193
194 struct mpol_arg {
195         krb5_ui_4 api_version;
196         kadm5_policy_ent_rec rec;
197         long mask;
198 };
199 typedef struct mpol_arg mpol_arg;
200 bool_t xdr_mpol_arg();
201
202 struct gpol_arg {
203         krb5_ui_4 api_version;
204         char *name;
205 };
206 typedef struct gpol_arg gpol_arg;
207 bool_t xdr_gpol_arg();
208
209 struct gpol_ret {
210         krb5_ui_4 api_version;
211         kadm5_ret_t code;
212         kadm5_policy_ent_rec rec;
213         char *err_str;
214 };
215 typedef struct gpol_ret gpol_ret;
216 bool_t xdr_gpol_ret();
217
218 struct gpols_arg {
219         krb5_ui_4 api_version;
220         char *exp;
221 };
222 typedef struct gpols_arg gpols_arg;
223 bool_t xdr_gpols_arg();
224
225 struct gpols_ret {
226         krb5_ui_4 api_version;
227         kadm5_ret_t code;
228         char **pols;
229         int count;
230         char *err_str;
231 };
232 typedef struct gpols_ret gpols_ret;
233 bool_t xdr_gpols_ret();
234
235 struct getprivs_ret {
236         krb5_ui_4 api_version;
237         kadm5_ret_t code;
238         long privs;
239         char *err_str;
240 };
241 typedef struct getprivs_ret getprivs_ret;
242 bool_t xdr_getprivs_ret();
243
244 #define KADM ((krb5_ui_4)2112)
245 #define KADMVERS ((krb5_ui_4)2)
246 #define CREATE_PRINCIPAL ((krb5_ui_4)1)
247 extern generic_ret *create_principal_1_svc(cprinc_arg *arg, 
248                                            struct svc_req *rqstp);
249 extern generic_ret *create_principal_1(cprinc_arg *argp, CLIENT *clnt);
250
251 #define DELETE_PRINCIPAL ((krb5_ui_4)2)
252 extern generic_ret *delete_principal_1_svc(dprinc_arg *arg, 
253                                            struct svc_req *rqstp);
254 extern generic_ret *delete_principal_1(dprinc_arg *argp, CLIENT *clnt);
255
256 #define MODIFY_PRINCIPAL ((krb5_ui_4)3)
257 extern generic_ret *modify_principal_1_svc(mprinc_arg *arg,
258                                            struct svc_req *rqstp);
259 extern generic_ret *modify_principal_1(mprinc_arg *argp, CLIENT *clnt);
260
261 #define RENAME_PRINCIPAL ((krb5_ui_4)4)
262 extern generic_ret *rename_principal_1_svc(rprinc_arg *arg, 
263                                            struct svc_req *rqstp);
264 extern generic_ret *rename_principal_1(rprinc_arg *argp, CLIENT *clnt);
265
266 #define GET_PRINCIPAL ((krb5_ui_4)5)
267 extern gprinc_ret *get_principal_1_svc(gprinc_arg *arg, struct svc_req *rqstp);
268 extern gprinc_ret *get_principal_1(gprinc_arg *argp, CLIENT *clnt);
269
270 #define CHPASS_PRINCIPAL ((krb5_ui_4)6)
271 extern generic_ret *chpass_principal_1_svc(chpass_arg *arg, 
272                                            struct svc_req *rqstp);
273 extern generic_ret *chpass_principal_1(chpass_arg *argp, CLIENT *clnt);
274
275 #define CHRAND_PRINCIPAL ((krb5_ui_4)7)
276 extern chrand_ret *chrand_principal_1_svc(chrand_arg *arg, 
277                                           struct svc_req *rqstp);
278 extern chrand_ret *chrand_principal_1(chrand_arg *argp, CLIENT *clnt);
279
280 #define CREATE_POLICY ((krb5_ui_4)8)
281 extern generic_ret *create_policy_1_svc(cpol_arg *arg, struct svc_req *rqstp);
282 extern generic_ret *create_policy_1(cpol_arg *argp, CLIENT *clnt);
283
284 #define DELETE_POLICY ((krb5_ui_4)9)
285 extern generic_ret *delete_policy_1_svc(dpol_arg *arg, struct svc_req *rqstp);
286 extern generic_ret *delete_policy_1(dpol_arg *argp, CLIENT *clnt);
287
288 #define MODIFY_POLICY ((krb5_ui_4)10)
289 extern generic_ret *modify_policy_1_svc(mpol_arg *arg, struct svc_req *rqstp);
290 extern generic_ret *modify_policy_1(mpol_arg *argp, CLIENT *clnt);
291
292 #define GET_POLICY ((krb5_ui_4)11)
293 extern gpol_ret *get_policy_1_svc(gpol_arg *arg, struct svc_req *rqstp);
294 extern gpol_ret *get_policy_1(gpol_arg *argp, CLIENT *clnt);
295
296 #define GET_PRIVS ((krb5_ui_4)12)
297 extern getprivs_ret *get_privs_1_svc(krb5_ui_4 *arg, struct svc_req *rqstp);
298 extern getprivs_ret *get_privs_1(void *argp, CLIENT *clnt);
299
300 #define INIT ((krb5_ui_4)13)
301 extern generic_ret *init_1_svc(krb5_ui_4 *arg, struct svc_req *rqstp);
302 extern generic_ret *init_1(void *argp, CLIENT *clnt);
303
304 #define GET_PRINCS ((krb5_ui_4) 14)
305 extern gprincs_ret *get_princs_1_svc(gprincs_arg *arg, struct svc_req *rqstp);
306 extern gprincs_ret *get_princs_1(gprincs_arg *argp, CLIENT *clnt);
307
308 #define GET_POLS ((krb5_ui_4) 15)
309 extern gpols_ret *get_pols_1_svc(gpols_arg *arg, struct svc_req *rqstp);
310 extern gpols_ret *get_pols_1(gpols_arg *argp, CLIENT *clnt);
311
312 #define SETKEY_PRINCIPAL ((krb5_ui_4) 16)
313 extern generic_ret *setkey_principal_1_svc(setkey_arg *arg, 
314                                            struct svc_req *rqstp);
315 extern generic_ret *setkey_principal_1(setkey_arg *argp, CLIENT *clnt);
316
317 #define SETV4KEY_PRINCIPAL ((krb5_ui_4) 17)
318 extern generic_ret *setv4key_principal_1_svc(setv4key_arg *arg, 
319                                              struct svc_req *rqstp);
320 extern generic_ret *setv4key_principal_1(setv4key_arg *argp, CLIENT *clnt);
321
322 #define CREATE_PRINCIPAL3 ((krb5_ui_4) 18)
323 extern generic_ret *create_principal3_1_svc(cprinc3_arg *arg, 
324                                             struct svc_req *rqstp);
325 extern generic_ret *create_principal3_1(cprinc3_arg *argp, CLIENT *clnt);
326
327 #define CHPASS_PRINCIPAL3 ((krb5_ui_4) 19)
328 extern generic_ret *chpass_principal3_1_svc(chpass3_arg *arg, 
329                                             struct svc_req *rqstp);
330 extern generic_ret *chpass_principal3_1(chpass3_arg *argp, CLIENT *clnt);
331
332 #define CHRAND_PRINCIPAL3 ((krb5_ui_4) 20)
333 extern chrand_ret *chrand_principal3_1_svc(chrand3_arg *arg, 
334                                            struct svc_req *rqstp);
335 extern chrand_ret *chrand_principal3_1(chrand3_arg *argp, CLIENT *clnt);
336
337 #define SETKEY_PRINCIPAL3 ((krb5_ui_4) 21)
338 extern generic_ret *setkey_principal3_1_svc(setkey3_arg *arg, 
339                                             struct svc_req *rqstp);
340 extern generic_ret *setkey_principal3_1(setkey3_arg *argp, CLIENT *clnt);
341
342 #endif /* __KADM_RPC_H__ */