Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/crypto/krb5/src/lib/kadm5/kadm_rpc.h
39537 views
1
/* -*- mode: c; c-file-style: "bsd"; indent-tabs-mode: t -*- */
2
#ifndef __KADM_RPC_H__
3
#define __KADM_RPC_H__
4
5
#include <gssrpc/types.h>
6
7
#include <krb5.h>
8
#include <kadm5/admin.h>
9
10
struct cprinc_arg {
11
krb5_ui_4 api_version;
12
kadm5_principal_ent_rec rec;
13
long mask;
14
char *passwd;
15
};
16
typedef struct cprinc_arg 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
28
struct generic_ret {
29
krb5_ui_4 api_version;
30
kadm5_ret_t code;
31
};
32
typedef struct generic_ret generic_ret;
33
34
struct dprinc_arg {
35
krb5_ui_4 api_version;
36
krb5_principal princ;
37
};
38
typedef struct dprinc_arg dprinc_arg;
39
40
struct mprinc_arg {
41
krb5_ui_4 api_version;
42
kadm5_principal_ent_rec rec;
43
long mask;
44
};
45
typedef struct mprinc_arg mprinc_arg;
46
47
struct rprinc_arg {
48
krb5_ui_4 api_version;
49
krb5_principal src;
50
krb5_principal dest;
51
};
52
typedef struct rprinc_arg rprinc_arg;
53
54
struct gprincs_arg {
55
krb5_ui_4 api_version;
56
char *exp;
57
};
58
typedef struct gprincs_arg gprincs_arg;
59
60
struct gprincs_ret {
61
krb5_ui_4 api_version;
62
kadm5_ret_t code;
63
char **princs;
64
int count;
65
};
66
typedef struct gprincs_ret gprincs_ret;
67
68
struct chpass_arg {
69
krb5_ui_4 api_version;
70
krb5_principal princ;
71
char *pass;
72
};
73
typedef struct chpass_arg chpass_arg;
74
75
struct chpass3_arg {
76
krb5_ui_4 api_version;
77
krb5_principal princ;
78
krb5_boolean keepold;
79
int n_ks_tuple;
80
krb5_key_salt_tuple *ks_tuple;
81
char *pass;
82
};
83
typedef struct chpass3_arg chpass3_arg;
84
85
struct setkey_arg {
86
krb5_ui_4 api_version;
87
krb5_principal princ;
88
krb5_keyblock *keyblocks;
89
int n_keys;
90
};
91
typedef struct setkey_arg setkey_arg;
92
93
struct setkey3_arg {
94
krb5_ui_4 api_version;
95
krb5_principal princ;
96
krb5_boolean keepold;
97
int n_ks_tuple;
98
krb5_key_salt_tuple *ks_tuple;
99
krb5_keyblock *keyblocks;
100
int n_keys;
101
};
102
typedef struct setkey3_arg setkey3_arg;
103
104
struct setkey4_arg {
105
krb5_ui_4 api_version;
106
krb5_principal princ;
107
krb5_boolean keepold;
108
kadm5_key_data *key_data;
109
int n_key_data;
110
};
111
typedef struct setkey4_arg setkey4_arg;
112
113
struct chrand_arg {
114
krb5_ui_4 api_version;
115
krb5_principal princ;
116
};
117
typedef struct chrand_arg chrand_arg;
118
119
struct chrand3_arg {
120
krb5_ui_4 api_version;
121
krb5_principal princ;
122
krb5_boolean keepold;
123
int n_ks_tuple;
124
krb5_key_salt_tuple *ks_tuple;
125
};
126
typedef struct chrand3_arg chrand3_arg;
127
128
struct chrand_ret {
129
krb5_ui_4 api_version;
130
kadm5_ret_t code;
131
krb5_keyblock key;
132
krb5_keyblock *keys;
133
int n_keys;
134
};
135
typedef struct chrand_ret chrand_ret;
136
137
struct gprinc_arg {
138
krb5_ui_4 api_version;
139
krb5_principal princ;
140
long mask;
141
};
142
typedef struct gprinc_arg gprinc_arg;
143
144
struct gprinc_ret {
145
krb5_ui_4 api_version;
146
kadm5_ret_t code;
147
kadm5_principal_ent_rec rec;
148
};
149
typedef struct gprinc_ret gprinc_ret;
150
151
struct cpol_arg {
152
krb5_ui_4 api_version;
153
kadm5_policy_ent_rec rec;
154
long mask;
155
};
156
typedef struct cpol_arg cpol_arg;
157
158
struct dpol_arg {
159
krb5_ui_4 api_version;
160
char *name;
161
};
162
typedef struct dpol_arg dpol_arg;
163
164
struct mpol_arg {
165
krb5_ui_4 api_version;
166
kadm5_policy_ent_rec rec;
167
long mask;
168
};
169
typedef struct mpol_arg mpol_arg;
170
171
struct gpol_arg {
172
krb5_ui_4 api_version;
173
char *name;
174
};
175
typedef struct gpol_arg gpol_arg;
176
177
struct gpol_ret {
178
krb5_ui_4 api_version;
179
kadm5_ret_t code;
180
kadm5_policy_ent_rec rec;
181
};
182
typedef struct gpol_ret gpol_ret;
183
184
struct gpols_arg {
185
krb5_ui_4 api_version;
186
char *exp;
187
};
188
typedef struct gpols_arg gpols_arg;
189
190
struct gpols_ret {
191
krb5_ui_4 api_version;
192
kadm5_ret_t code;
193
char **pols;
194
int count;
195
};
196
typedef struct gpols_ret gpols_ret;
197
198
struct getprivs_ret {
199
krb5_ui_4 api_version;
200
kadm5_ret_t code;
201
long privs;
202
};
203
typedef struct getprivs_ret getprivs_ret;
204
205
struct purgekeys_arg {
206
krb5_ui_4 api_version;
207
krb5_principal princ;
208
int keepkvno;
209
};
210
typedef struct purgekeys_arg purgekeys_arg;
211
212
struct gstrings_arg {
213
krb5_ui_4 api_version;
214
krb5_principal princ;
215
};
216
typedef struct gstrings_arg gstrings_arg;
217
218
struct gstrings_ret {
219
krb5_ui_4 api_version;
220
kadm5_ret_t code;
221
krb5_string_attr *strings;
222
int count;
223
};
224
typedef struct gstrings_ret gstrings_ret;
225
226
struct sstring_arg {
227
krb5_ui_4 api_version;
228
krb5_principal princ;
229
char *key;
230
char *value;
231
};
232
typedef struct sstring_arg sstring_arg;
233
234
struct getpkeys_arg {
235
krb5_ui_4 api_version;
236
krb5_principal princ;
237
krb5_kvno kvno;
238
};
239
typedef struct getpkeys_arg getpkeys_arg;
240
241
struct getpkeys_ret {
242
krb5_ui_4 api_version;
243
kadm5_ret_t code;
244
kadm5_key_data *key_data;
245
int n_key_data;
246
};
247
typedef struct getpkeys_ret getpkeys_ret;
248
249
struct calias_arg {
250
krb5_ui_4 api_version;
251
krb5_principal alias;
252
krb5_principal target;
253
};
254
typedef struct calias_arg calias_arg;
255
256
#define KADM 2112
257
#define KADMVERS 2
258
#define CREATE_PRINCIPAL 1
259
extern enum clnt_stat create_principal_2(cprinc_arg *, generic_ret *,
260
CLIENT *);
261
extern bool_t create_principal_2_svc(cprinc_arg *, generic_ret *,
262
struct svc_req *);
263
#define DELETE_PRINCIPAL 2
264
extern enum clnt_stat delete_principal_2(dprinc_arg *, generic_ret *,
265
CLIENT *);
266
extern bool_t delete_principal_2_svc(dprinc_arg *, generic_ret *,
267
struct svc_req *);
268
#define MODIFY_PRINCIPAL 3
269
extern enum clnt_stat modify_principal_2(mprinc_arg *, generic_ret *,
270
CLIENT *);
271
extern bool_t modify_principal_2_svc(mprinc_arg *, generic_ret *,
272
struct svc_req *);
273
#define RENAME_PRINCIPAL 4
274
extern enum clnt_stat rename_principal_2(rprinc_arg *, generic_ret *,
275
CLIENT *);
276
extern bool_t rename_principal_2_svc(rprinc_arg *, generic_ret *,
277
struct svc_req *);
278
#define GET_PRINCIPAL 5
279
extern enum clnt_stat get_principal_2(gprinc_arg *, gprinc_ret *, CLIENT *);
280
extern bool_t get_principal_2_svc(gprinc_arg *, gprinc_ret *,
281
struct svc_req *);
282
#define CHPASS_PRINCIPAL 6
283
extern enum clnt_stat chpass_principal_2(chpass_arg *, generic_ret *,
284
CLIENT *);
285
extern bool_t chpass_principal_2_svc(chpass_arg *, generic_ret *,
286
struct svc_req *);
287
#define CHRAND_PRINCIPAL 7
288
extern enum clnt_stat chrand_principal_2(chrand_arg *, chrand_ret *,
289
CLIENT *);
290
extern bool_t chrand_principal_2_svc(chrand_arg *, chrand_ret *,
291
struct svc_req *);
292
#define CREATE_POLICY 8
293
extern enum clnt_stat create_policy_2(cpol_arg *, generic_ret *, CLIENT *);
294
extern bool_t create_policy_2_svc(cpol_arg *, generic_ret *,
295
struct svc_req *);
296
#define DELETE_POLICY 9
297
extern enum clnt_stat delete_policy_2(dpol_arg *, generic_ret *, CLIENT *);
298
extern bool_t delete_policy_2_svc(dpol_arg *, generic_ret *,
299
struct svc_req *);
300
#define MODIFY_POLICY 10
301
extern enum clnt_stat modify_policy_2(mpol_arg *, generic_ret *, CLIENT *);
302
extern bool_t modify_policy_2_svc(mpol_arg *, generic_ret *,
303
struct svc_req *);
304
#define GET_POLICY 11
305
extern enum clnt_stat get_policy_2(gpol_arg *, gpol_ret *, CLIENT *);
306
extern bool_t get_policy_2_svc(gpol_arg *, gpol_ret *, struct svc_req *);
307
#define GET_PRIVS 12
308
extern enum clnt_stat get_privs_2(void *, getprivs_ret *, CLIENT *);
309
extern bool_t get_privs_2_svc(krb5_ui_4 *, getprivs_ret *, struct svc_req *);
310
#define INIT 13
311
extern enum clnt_stat init_2(void *, generic_ret *, CLIENT *);
312
extern bool_t init_2_svc(krb5_ui_4 *, generic_ret *, struct svc_req *);
313
#define GET_PRINCS 14
314
extern enum clnt_stat get_princs_2(gprincs_arg *, gprincs_ret *, CLIENT *);
315
extern bool_t get_princs_2_svc(gprincs_arg *, gprincs_ret *,
316
struct svc_req *);
317
#define GET_POLS 15
318
extern enum clnt_stat get_pols_2(gpols_arg *, gpols_ret *, CLIENT *);
319
extern bool_t get_pols_2_svc(gpols_arg *, gpols_ret *, struct svc_req *);
320
#define SETKEY_PRINCIPAL 16
321
extern enum clnt_stat setkey_principal_2(setkey_arg *, generic_ret *,
322
CLIENT *);
323
extern bool_t setkey_principal_2_svc(setkey_arg *, generic_ret *,
324
struct svc_req *);
325
326
/* 17 was SETV4KEY_PRINCIPAL (removed in 1.18). */
327
328
#define CREATE_PRINCIPAL3 18
329
extern enum clnt_stat create_principal3_2(cprinc3_arg *, generic_ret *,
330
CLIENT *);
331
extern bool_t create_principal3_2_svc(cprinc3_arg *, generic_ret *,
332
struct svc_req *);
333
#define CHPASS_PRINCIPAL3 19
334
extern enum clnt_stat chpass_principal3_2(chpass3_arg *, generic_ret *,
335
CLIENT *);
336
extern bool_t chpass_principal3_2_svc(chpass3_arg *, generic_ret *,
337
struct svc_req *);
338
#define CHRAND_PRINCIPAL3 20
339
extern enum clnt_stat chrand_principal3_2(chrand3_arg *, chrand_ret *,
340
CLIENT *);
341
extern bool_t chrand_principal3_2_svc(chrand3_arg *, chrand_ret *,
342
struct svc_req *);
343
#define SETKEY_PRINCIPAL3 21
344
extern enum clnt_stat setkey_principal3_2(setkey3_arg *, generic_ret *,
345
CLIENT *);
346
extern bool_t setkey_principal3_2_svc(setkey3_arg *, generic_ret *,
347
struct svc_req *);
348
#define PURGEKEYS 22
349
extern enum clnt_stat purgekeys_2(purgekeys_arg *, generic_ret *, CLIENT *);
350
extern bool_t purgekeys_2_svc(purgekeys_arg *, generic_ret *,
351
struct svc_req *);
352
#define GET_STRINGS 23
353
extern enum clnt_stat get_strings_2(gstrings_arg *, gstrings_ret *, CLIENT *);
354
extern bool_t get_strings_2_svc(gstrings_arg *, gstrings_ret *,
355
struct svc_req *);
356
#define SET_STRING 24
357
extern enum clnt_stat set_string_2(sstring_arg *, generic_ret *, CLIENT *);
358
extern bool_t set_string_2_svc(sstring_arg *, generic_ret *,
359
struct svc_req *);
360
#define SETKEY_PRINCIPAL4 25
361
extern enum clnt_stat setkey_principal4_2(setkey4_arg *, generic_ret *,
362
CLIENT *);
363
extern bool_t setkey_principal4_2_svc(setkey4_arg *, generic_ret *,
364
struct svc_req *);
365
#define EXTRACT_KEYS 26
366
extern enum clnt_stat get_principal_keys_2(getpkeys_arg *, getpkeys_ret *,
367
CLIENT *);
368
extern bool_t get_principal_keys_2_svc(getpkeys_arg *, getpkeys_ret *,
369
struct svc_req *);
370
371
#define CREATE_ALIAS 27
372
extern enum clnt_stat create_alias_2(calias_arg *, generic_ret *, CLIENT *);
373
extern bool_t create_alias_2_svc(calias_arg *, generic_ret *,
374
struct svc_req *);
375
#endif /* __KADM_RPC_H__ */
376
377