aboutsummaryrefslogtreecommitdiff
path: root/src/lib/kadm5/kadm_rpc.h
blob: fb86605a49b41f4508963dee55e6b2c7dde6df76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
/* -*- mode: c; c-file-style: "bsd"; indent-tabs-mode: t -*- */
#ifndef __KADM_RPC_H__
#define __KADM_RPC_H__

#include <gssrpc/types.h>

#include	<krb5.h>
#include	<kadm5/admin.h>

struct cprinc_arg {
	krb5_ui_4 api_version;
	kadm5_principal_ent_rec rec;
	long mask;
	char *passwd;
};
typedef struct cprinc_arg cprinc_arg;

struct cprinc3_arg {
	krb5_ui_4 api_version;
	kadm5_principal_ent_rec rec;
	long mask;
	int n_ks_tuple;
	krb5_key_salt_tuple *ks_tuple;
	char *passwd;
};
typedef struct cprinc3_arg cprinc3_arg;

struct generic_ret {
	krb5_ui_4 api_version;
	kadm5_ret_t code;
};
typedef struct generic_ret generic_ret;

struct dprinc_arg {
	krb5_ui_4 api_version;
	krb5_principal princ;
};
typedef struct dprinc_arg dprinc_arg;

struct mprinc_arg {
	krb5_ui_4 api_version;
	kadm5_principal_ent_rec rec;
	long mask;
};
typedef struct mprinc_arg mprinc_arg;

struct rprinc_arg {
	krb5_ui_4 api_version;
	krb5_principal src;
	krb5_principal dest;
};
typedef struct rprinc_arg rprinc_arg;

struct gprincs_arg {
	krb5_ui_4 api_version;
	char *exp;
};
typedef struct gprincs_arg gprincs_arg;

struct gprincs_ret {
	krb5_ui_4 api_version;
	kadm5_ret_t code;
	char **princs;
	int count;
};
typedef struct gprincs_ret gprincs_ret;

struct chpass_arg {
	krb5_ui_4 api_version;
	krb5_principal princ;
	char *pass;
};
typedef struct chpass_arg chpass_arg;

struct chpass3_arg {
	krb5_ui_4 api_version;
	krb5_principal princ;
	krb5_boolean keepold;
	int n_ks_tuple;
	krb5_key_salt_tuple *ks_tuple;
	char *pass;
};
typedef struct chpass3_arg chpass3_arg;

struct setv4key_arg {
	krb5_ui_4 api_version;
	krb5_principal princ;
	krb5_keyblock *keyblock;
};
typedef struct setv4key_arg setv4key_arg;

struct setkey_arg {
	krb5_ui_4 api_version;
	krb5_principal princ;
	krb5_keyblock *keyblocks;
	int n_keys;
};
typedef struct setkey_arg setkey_arg;

struct setkey3_arg {
	krb5_ui_4 api_version;
	krb5_principal princ;
	krb5_boolean keepold;
	int n_ks_tuple;
	krb5_key_salt_tuple *ks_tuple;
	krb5_keyblock *keyblocks;
	int n_keys;
};
typedef struct setkey3_arg setkey3_arg;

struct chrand_arg {
	krb5_ui_4 api_version;
	krb5_principal princ;
};
typedef struct chrand_arg chrand_arg;

struct chrand3_arg {
	krb5_ui_4 api_version;
	krb5_principal princ;
	krb5_boolean keepold;
	int n_ks_tuple;
	krb5_key_salt_tuple *ks_tuple;
};
typedef struct chrand3_arg chrand3_arg;

struct chrand_ret {
	krb5_ui_4 api_version;
	kadm5_ret_t code;
	krb5_keyblock key;
	krb5_keyblock *keys;
	int n_keys;
};
typedef struct chrand_ret chrand_ret;

struct gprinc_arg {
	krb5_ui_4 api_version;
	krb5_principal princ;
	long mask;
};
typedef struct gprinc_arg gprinc_arg;

struct gprinc_ret {
	krb5_ui_4 api_version;
	kadm5_ret_t code;
	kadm5_principal_ent_rec rec;
};
typedef struct gprinc_ret gprinc_ret;

struct cpol_arg {
	krb5_ui_4 api_version;
	kadm5_policy_ent_rec rec;
	long mask;
};
typedef struct cpol_arg cpol_arg;

struct dpol_arg {
	krb5_ui_4 api_version;
	char *name;
};
typedef struct dpol_arg dpol_arg;

struct mpol_arg {
	krb5_ui_4 api_version;
	kadm5_policy_ent_rec rec;
	long mask;
};
typedef struct mpol_arg mpol_arg;

struct gpol_arg {
	krb5_ui_4 api_version;
	char *name;
};
typedef struct gpol_arg gpol_arg;

struct gpol_ret {
	krb5_ui_4 api_version;
	kadm5_ret_t code;
	kadm5_policy_ent_rec rec;
};
typedef struct gpol_ret gpol_ret;

struct gpols_arg {
	krb5_ui_4 api_version;
	char *exp;
};
typedef struct gpols_arg gpols_arg;

struct gpols_ret {
	krb5_ui_4 api_version;
	kadm5_ret_t code;
	char **pols;
	int count;
};
typedef struct gpols_ret gpols_ret;

struct getprivs_ret {
	krb5_ui_4 api_version;
	kadm5_ret_t code;
	long privs;
};
typedef struct getprivs_ret getprivs_ret;

#define KADM 2112
#define KADMVERS 2
#define CREATE_PRINCIPAL 1
extern  generic_ret * create_principal_2(cprinc_arg *, CLIENT *);
extern  generic_ret * create_principal_2_svc(cprinc_arg *, struct svc_req *);
#define DELETE_PRINCIPAL 2
extern  generic_ret * delete_principal_2(dprinc_arg *, CLIENT *);
extern  generic_ret * delete_principal_2_svc(dprinc_arg *, struct svc_req *);
#define MODIFY_PRINCIPAL 3
extern  generic_ret * modify_principal_2(mprinc_arg *, CLIENT *);
extern  generic_ret * modify_principal_2_svc(mprinc_arg *, struct svc_req *);
#define RENAME_PRINCIPAL 4
extern  generic_ret * rename_principal_2(rprinc_arg *, CLIENT *);
extern  generic_ret * rename_principal_2_svc(rprinc_arg *, struct svc_req *);
#define GET_PRINCIPAL 5
extern  gprinc_ret * get_principal_2(gprinc_arg *, CLIENT *);
extern  gprinc_ret * get_principal_2_svc(gprinc_arg *, struct svc_req *);
#define CHPASS_PRINCIPAL 6
extern  generic_ret * chpass_principal_2(chpass_arg *, CLIENT *);
extern  generic_ret * chpass_principal_2_svc(chpass_arg *, struct svc_req *);
#define CHRAND_PRINCIPAL 7
extern  chrand_ret * chrand_principal_2(chrand_arg *, CLIENT *);
extern  chrand_ret * chrand_principal_2_svc(chrand_arg *, struct svc_req *);
#define CREATE_POLICY 8
extern  generic_ret * create_policy_2(cpol_arg *, CLIENT *);
extern  generic_ret * create_policy_2_svc(cpol_arg *, struct svc_req *);
#define DELETE_POLICY 9
extern  generic_ret * delete_policy_2(dpol_arg *, CLIENT *);
extern  generic_ret * delete_policy_2_svc(dpol_arg *, struct svc_req *);
#define MODIFY_POLICY 10
extern  generic_ret * modify_policy_2(mpol_arg *, CLIENT *);
extern  generic_ret * modify_policy_2_svc(mpol_arg *, struct svc_req *);
#define GET_POLICY 11
extern  gpol_ret * get_policy_2(gpol_arg *, CLIENT *);
extern  gpol_ret * get_policy_2_svc(gpol_arg *, struct svc_req *);
#define GET_PRIVS 12
extern  getprivs_ret * get_privs_2(void *, CLIENT *);
extern  getprivs_ret * get_privs_2_svc(krb5_ui_4 *, struct svc_req *);
#define INIT 13
extern  generic_ret * init_2(void *, CLIENT *);
extern  generic_ret * init_2_svc(krb5_ui_4 *, struct svc_req *);
#define GET_PRINCS 14
extern  gprincs_ret * get_princs_2(gprincs_arg *, CLIENT *);
extern  gprincs_ret * get_princs_2_svc(gprincs_arg *, struct svc_req *);
#define GET_POLS 15
extern  gpols_ret * get_pols_2(gpols_arg *, CLIENT *);
extern  gpols_ret * get_pols_2_svc(gpols_arg *, struct svc_req *);
#define SETKEY_PRINCIPAL 16
extern  generic_ret * setkey_principal_2(setkey_arg *, CLIENT *);
extern  generic_ret * setkey_principal_2_svc(setkey_arg *, struct svc_req *);
#define SETV4KEY_PRINCIPAL 17
extern  generic_ret * setv4key_principal_2(setv4key_arg *, CLIENT *);
extern  generic_ret * setv4key_principal_2_svc(setv4key_arg *, struct svc_req *);
#define CREATE_PRINCIPAL3 18
extern  generic_ret * create_principal3_2(cprinc3_arg *, CLIENT *);
extern  generic_ret * create_principal3_2_svc(cprinc3_arg *, struct svc_req *);
#define CHPASS_PRINCIPAL3 19
extern  generic_ret * chpass_principal3_2(chpass3_arg *, CLIENT *);
extern  generic_ret * chpass_principal3_2_svc(chpass3_arg *, struct svc_req *);
#define CHRAND_PRINCIPAL3 20
extern  chrand_ret * chrand_principal3_2(chrand3_arg *, CLIENT *);
extern  chrand_ret * chrand_principal3_2_svc(chrand3_arg *, struct svc_req *);
#define SETKEY_PRINCIPAL3 21
extern  generic_ret * setkey_principal3_2(setkey3_arg *, CLIENT *);
extern  generic_ret * setkey_principal3_2_svc(setkey3_arg *, struct svc_req *);

extern bool_t xdr_cprinc_arg ();
extern bool_t xdr_cprinc3_arg ();
extern bool_t xdr_generic_ret ();
extern bool_t xdr_dprinc_arg ();
extern bool_t xdr_mprinc_arg ();
extern bool_t xdr_rprinc_arg ();
extern bool_t xdr_gprincs_arg ();
extern bool_t xdr_gprincs_ret ();
extern bool_t xdr_chpass_arg ();
extern bool_t xdr_chpass3_arg ();
extern bool_t xdr_setv4key_arg ();
extern bool_t xdr_setkey_arg ();
extern bool_t xdr_setkey3_arg ();
extern bool_t xdr_chrand_arg ();
extern bool_t xdr_chrand3_arg ();
extern bool_t xdr_chrand_ret ();
extern bool_t xdr_gprinc_arg ();
extern bool_t xdr_gprinc_ret ();
extern bool_t xdr_kadm5_ret_t ();
extern bool_t xdr_kadm5_principal_ent_rec ();
extern bool_t xdr_kadm5_policy_ent_rec ();
extern bool_t	xdr_krb5_keyblock ();
extern bool_t	xdr_krb5_principal ();
extern bool_t	xdr_krb5_enctype ();
extern bool_t	xdr_krb5_octet ();
extern bool_t	xdr_krb5_int32 ();
extern bool_t	xdr_u_int32 ();
extern bool_t xdr_cpol_arg ();
extern bool_t xdr_dpol_arg ();
extern bool_t xdr_mpol_arg ();
extern bool_t xdr_gpol_arg ();
extern bool_t xdr_gpol_ret ();
extern bool_t xdr_gpols_arg ();
extern bool_t xdr_gpols_ret ();
extern bool_t xdr_getprivs_ret ();


#endif /* __KADM_RPC_H__ */