2 * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
4 * Openvision retains the copyright to derivative works of
5 * this source code. Do *NOT* create a derivative of this
6 * source code before consulting with your legal department.
7 * Do *NOT* integrate *ANY* of this source code into another
8 * product before consulting with your legal department.
10 * For further information, read the top-level Openvision
11 * copyright which is contained in the top-level MIT Kerberos
14 * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
18 #ifndef __KADM_RPC_H__
19 #define __KADM_RPC_H__
21 #include <rpc/types.h>
23 #include <kadm5/admin.h>
27 krb5_ui_4 api_version
;
28 kadm5_principal_ent_rec rec
;
32 typedef struct cprinc_arg cprinc_arg
;
35 krb5_ui_4 api_version
;
36 kadm5_principal_ent_rec rec
;
39 krb5_key_salt_tuple
*ks_tuple
;
42 typedef struct cprinc3_arg cprinc3_arg
;
45 krb5_ui_4 api_version
;
48 typedef struct generic_ret generic_ret
;
51 krb5_ui_4 api_version
;
54 typedef struct dprinc_arg dprinc_arg
;
57 krb5_ui_4 api_version
;
58 kadm5_principal_ent_rec rec
;
61 typedef struct mprinc_arg mprinc_arg
;
64 krb5_ui_4 api_version
;
68 typedef struct rprinc_arg rprinc_arg
;
71 krb5_ui_4 api_version
;
74 typedef struct gprincs_arg gprincs_arg
;
77 krb5_ui_4 api_version
;
82 typedef struct gprincs_ret gprincs_ret
;
85 krb5_ui_4 api_version
;
89 typedef struct chpass_arg chpass_arg
;
92 krb5_ui_4 api_version
;
96 krb5_key_salt_tuple
*ks_tuple
;
99 typedef struct chpass3_arg chpass3_arg
;
101 struct setv4key_arg
{
102 krb5_ui_4 api_version
;
103 krb5_principal princ
;
104 krb5_keyblock
*keyblock
;
106 typedef struct setv4key_arg setv4key_arg
;
109 krb5_ui_4 api_version
;
110 krb5_principal princ
;
111 krb5_keyblock
*keyblocks
;
114 typedef struct setkey_arg setkey_arg
;
117 krb5_ui_4 api_version
;
118 krb5_principal princ
;
119 krb5_boolean keepold
;
121 krb5_key_salt_tuple
*ks_tuple
;
122 krb5_keyblock
*keyblocks
;
125 typedef struct setkey3_arg setkey3_arg
;
128 krb5_ui_4 api_version
;
129 krb5_principal princ
;
131 typedef struct chrand_arg chrand_arg
;
134 krb5_ui_4 api_version
;
135 krb5_principal princ
;
136 krb5_boolean keepold
;
138 krb5_key_salt_tuple
*ks_tuple
;
140 typedef struct chrand3_arg chrand3_arg
;
143 krb5_ui_4 api_version
;
149 typedef struct chrand_ret chrand_ret
;
152 krb5_ui_4 api_version
;
153 krb5_principal princ
;
156 typedef struct gprinc_arg gprinc_arg
;
159 krb5_ui_4 api_version
;
161 kadm5_principal_ent_rec rec
;
163 typedef struct gprinc_ret gprinc_ret
;
166 krb5_ui_4 api_version
;
167 kadm5_policy_ent_rec rec
;
170 typedef struct cpol_arg cpol_arg
;
173 krb5_ui_4 api_version
;
176 typedef struct dpol_arg dpol_arg
;
179 krb5_ui_4 api_version
;
180 kadm5_policy_ent_rec rec
;
183 typedef struct mpol_arg mpol_arg
;
186 krb5_ui_4 api_version
;
189 typedef struct gpol_arg gpol_arg
;
192 krb5_ui_4 api_version
;
194 kadm5_policy_ent_rec rec
;
196 typedef struct gpol_ret gpol_ret
;
199 krb5_ui_4 api_version
;
202 typedef struct gpols_arg gpols_arg
;
205 krb5_ui_4 api_version
;
210 typedef struct gpols_ret gpols_ret
;
212 struct getprivs_ret
{
213 krb5_ui_4 api_version
;
217 typedef struct getprivs_ret getprivs_ret
;
221 #define CREATE_PRINCIPAL 1
222 extern generic_ret
* create_principal_2(cprinc_arg
*, CLIENT
*);
223 extern generic_ret
* create_principal_2_svc(cprinc_arg
*, struct svc_req
*);
224 #define DELETE_PRINCIPAL 2
225 extern generic_ret
* delete_principal_2(dprinc_arg
*, CLIENT
*);
226 extern generic_ret
* delete_principal_2_svc(dprinc_arg
*, struct svc_req
*);
227 #define MODIFY_PRINCIPAL 3
228 extern generic_ret
* modify_principal_2(mprinc_arg
*, CLIENT
*);
229 extern generic_ret
* modify_principal_2_svc(mprinc_arg
*, struct svc_req
*);
230 #define RENAME_PRINCIPAL 4
231 extern generic_ret
* rename_principal_2(rprinc_arg
*, CLIENT
*);
232 extern generic_ret
* rename_principal_2_svc(rprinc_arg
*, struct svc_req
*);
233 #define GET_PRINCIPAL 5
234 extern gprinc_ret
* get_principal_2(gprinc_arg
*, CLIENT
*);
235 extern gprinc_ret
* get_principal_2_svc(gprinc_arg
*, struct svc_req
*);
236 #define CHPASS_PRINCIPAL 6
237 extern generic_ret
* chpass_principal_2(chpass_arg
*, CLIENT
*);
238 extern generic_ret
* chpass_principal_2_svc(chpass_arg
*, struct svc_req
*);
239 #define CHRAND_PRINCIPAL 7
240 extern chrand_ret
* chrand_principal_2(chrand_arg
*, CLIENT
*);
241 extern chrand_ret
* chrand_principal_2_svc(chrand_arg
*, struct svc_req
*);
242 #define CREATE_POLICY 8
243 extern generic_ret
* create_policy_2(cpol_arg
*, CLIENT
*);
244 extern generic_ret
* create_policy_2_svc(cpol_arg
*, struct svc_req
*);
245 #define DELETE_POLICY 9
246 extern generic_ret
* delete_policy_2(dpol_arg
*, CLIENT
*);
247 extern generic_ret
* delete_policy_2_svc(dpol_arg
*, struct svc_req
*);
248 #define MODIFY_POLICY 10
249 extern generic_ret
* modify_policy_2(mpol_arg
*, CLIENT
*);
250 extern generic_ret
* modify_policy_2_svc(mpol_arg
*, struct svc_req
*);
251 #define GET_POLICY 11
252 extern gpol_ret
* get_policy_2(gpol_arg
*, CLIENT
*);
253 extern gpol_ret
* get_policy_2_svc(gpol_arg
*, struct svc_req
*);
255 extern getprivs_ret
* get_privs_2(void *, CLIENT
*);
256 extern getprivs_ret
* get_privs_2_svc(krb5_ui_4
*, struct svc_req
*);
258 extern generic_ret
* init_2(void *, CLIENT
*);
259 extern generic_ret
* init_2_svc(krb5_ui_4
*, struct svc_req
*);
260 #define GET_PRINCS 14
261 extern gprincs_ret
* get_princs_2(gprincs_arg
*, CLIENT
*);
262 extern gprincs_ret
* get_princs_2_svc(gprincs_arg
*, struct svc_req
*);
264 extern gpols_ret
* get_pols_2(gpols_arg
*, CLIENT
*);
265 extern gpols_ret
* get_pols_2_svc(gpols_arg
*, struct svc_req
*);
266 #define SETKEY_PRINCIPAL 16
267 extern generic_ret
* setkey_principal_2(setkey_arg
*, CLIENT
*);
268 extern generic_ret
* setkey_principal_2_svc(setkey_arg
*, struct svc_req
*);
269 #define SETV4KEY_PRINCIPAL 17
270 extern generic_ret
* setv4key_principal_2(setv4key_arg
*, CLIENT
*);
271 extern generic_ret
* setv4key_principal_2_svc(setv4key_arg
*, struct svc_req
*);
272 #define CREATE_PRINCIPAL3 18
273 extern generic_ret
* create_principal3_2(cprinc3_arg
*, CLIENT
*);
274 extern generic_ret
* create_principal3_2_svc(cprinc3_arg
*, struct svc_req
*);
275 #define CHPASS_PRINCIPAL3 19
276 extern generic_ret
* chpass_principal3_2(chpass3_arg
*, CLIENT
*);
277 extern generic_ret
* chpass_principal3_2_svc(chpass3_arg
*, struct svc_req
*);
278 #define CHRAND_PRINCIPAL3 20
279 extern chrand_ret
* chrand_principal3_2(chrand3_arg
*, CLIENT
*);
280 extern chrand_ret
* chrand_principal3_2_svc(chrand3_arg
*, struct svc_req
*);
281 #define SETKEY_PRINCIPAL3 21
282 extern generic_ret
* setkey_principal3_2(setkey3_arg
*, CLIENT
*);
283 extern generic_ret
* setkey_principal3_2_svc(setkey3_arg
*, struct svc_req
*);
285 extern bool_t
xdr_cprinc_arg ();
286 extern bool_t
xdr_cprinc3_arg ();
287 extern bool_t
xdr_generic_ret ();
288 extern bool_t
xdr_dprinc_arg ();
289 extern bool_t
xdr_mprinc_arg ();
290 extern bool_t
xdr_rprinc_arg ();
291 extern bool_t
xdr_gprincs_arg ();
292 extern bool_t
xdr_gprincs_ret ();
293 extern bool_t
xdr_chpass_arg ();
294 extern bool_t
xdr_chpass3_arg ();
295 extern bool_t
xdr_setv4key_arg ();
296 extern bool_t
xdr_setkey_arg ();
297 extern bool_t
xdr_setkey3_arg ();
298 extern bool_t
xdr_chrand_arg ();
299 extern bool_t
xdr_chrand3_arg ();
300 extern bool_t
xdr_chrand_ret ();
301 extern bool_t
xdr_gprinc_arg ();
302 extern bool_t
xdr_gprinc_ret ();
303 extern bool_t
xdr_kadm5_ret_t ();
304 extern bool_t
xdr_kadm5_principal_ent_rec ();
305 extern bool_t
xdr_kadm5_policy_ent_rec ();
306 extern bool_t
xdr_krb5_keyblock ();
307 extern bool_t
xdr_krb5_principal ();
308 extern bool_t
xdr_krb5_enctype ();
309 extern bool_t
xdr_krb5_octet ();
310 extern bool_t
xdr_krb5_int32 ();
311 extern bool_t
xdr_u_int32 ();
312 extern bool_t
xdr_cpol_arg ();
313 extern bool_t
xdr_dpol_arg ();
314 extern bool_t
xdr_mpol_arg ();
315 extern bool_t
xdr_gpol_arg ();
316 extern bool_t
xdr_gpol_ret ();
317 extern bool_t
xdr_gpols_arg ();
318 extern bool_t
xdr_gpols_ret ();
319 extern bool_t
xdr_getprivs_ret ();
322 #endif /* __KADM_RPC_H__ */