1/* This is a generated file */
2#ifndef __kadm5_protos_h__
3#define __kadm5_protos_h__
4#ifndef DOXY
5
6#include <stdarg.h>
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12kadm5_ret_t
13kadm5_ad_init_with_password (
14 const char */*client_name*/,
15 const char */*password*/,
16 const char */*service_name*/,
17 kadm5_config_params */*realm_params*/,
18 unsigned long /*struct_version*/,
19 unsigned long /*api_version*/,
20 void **/*server_handle*/);
21
22kadm5_ret_t
23kadm5_ad_init_with_password_ctx (
24 krb5_context /*context*/,
25 const char */*client_name*/,
26 const char */*password*/,
27 const char */*service_name*/,
28 kadm5_config_params */*realm_params*/,
29 unsigned long /*struct_version*/,
30 unsigned long /*api_version*/,
31 void **/*server_handle*/);
32
33krb5_error_code
34kadm5_add_passwd_quality_verifier (
35 krb5_context /*context*/,
36 const char */*check_library*/);
37
38int
39kadm5_all_keys_are_bogus (
40 size_t /*n_keys*/,
41 krb5_key_data */*keys*/);
42
43const char *
44kadm5_check_password_quality (
45 krb5_context /*context*/,
46 krb5_principal /*principal*/,
47 krb5_data */*pwd_data*/);
48
49kadm5_ret_t
50kadm5_chpass_principal (
51 void */*server_handle*/,
52 krb5_principal /*princ*/,
53 const char */*password*/);
54
55kadm5_ret_t
56kadm5_chpass_principal_3 (
57 void */*server_handle*/,
58 krb5_principal /*princ*/,
59 krb5_boolean /*keepold*/,
60 int /*n_ks_tuple*/,
61 krb5_key_salt_tuple */*ks_tuple*/,
62 const char */*password*/);
63
64kadm5_ret_t
65kadm5_chpass_principal_with_key (
66 void */*server_handle*/,
67 krb5_principal /*princ*/,
68 int /*n_key_data*/,
69 krb5_key_data */*key_data*/);
70
71kadm5_ret_t
72kadm5_chpass_principal_with_key_3 (
73 void */*server_handle*/,
74 krb5_principal /*princ*/,
75 int /*keepold*/,
76 int /*n_key_data*/,
77 krb5_key_data */*key_data*/);
78
79kadm5_ret_t
80kadm5_create_policy (
81 void */*server_handle*/,
82 kadm5_policy_ent_t /*policy*/,
83 long /*mask*/);
84
85kadm5_ret_t
86kadm5_create_principal (
87 void */*server_handle*/,
88 kadm5_principal_ent_t /*princ*/,
89 uint32_t /*mask*/,
90 const char */*password*/);
91
92kadm5_ret_t
93kadm5_create_principal_3 (
94 void */*server_handle*/,
95 kadm5_principal_ent_t /*princ*/,
96 uint32_t /*mask*/,
97 int /*n_ks_tuple*/,
98 krb5_key_salt_tuple */*ks_tuple*/,
99 char */*password*/);
100
101/**
102 * Extract decrypted keys from kadm5_principal_ent_t object. Mostly a
103 * no-op for Heimdal because we fetch the entry with decrypted keys.
104 * Sadly this is not fully a no-op, as we have to allocate a copy.
105 *
106 * @server_handle is the kadm5 handle
107 * @entry is the HDB entry for the principal in question
108 * @ktype is the enctype to get a key for, or -1 to get the first one
109 * @stype is the salttype to get a key for, or -1 to get the first match
110 * @kvno is the kvno to search for, or -1 to get the first match (highest kvno)
111 * @keyblock is where the key will be placed
112 * @keysalt, if not NULL, is where the salt will be placed
113 * @kvnop, if not NULL, is where the selected kvno will be placed
114 */
115
116kadm5_ret_t
117kadm5_decrypt_key (
118 void */*server_handle*/,
119 kadm5_principal_ent_t /*entry*/,
120 int32_t /*ktype*/,
121 int32_t /*stype*/,
122 int32_t /*kvno*/,
123 krb5_keyblock */*keyblock*/,
124 krb5_keysalt */*keysalt*/,
125 int */*kvnop*/);
126
127kadm5_ret_t
128kadm5_delete_policy (
129 void */*server_handle*/,
130 char */*name*/);
131
132kadm5_ret_t
133kadm5_delete_principal (
134 void */*server_handle*/,
135 krb5_principal /*princ*/);
136
137kadm5_ret_t
138kadm5_destroy (void */*server_handle*/);
139
140kadm5_ret_t
141kadm5_flush (void */*server_handle*/);
142
143void
144kadm5_free_key_data (
145 void */*server_handle*/,
146 int16_t */*n_key_data*/,
147 krb5_key_data */*key_data*/);
148
149void
150kadm5_free_name_list (
151 void */*server_handle*/,
152 char **/*names*/,
153 int */*count*/);
154
155kadm5_ret_t
156kadm5_free_policy_ent (kadm5_policy_ent_t /*ent*/);
157
158void
159kadm5_free_principal_ent (
160 void */*server_handle*/,
161 kadm5_principal_ent_t /*princ*/);
162
163kadm5_ret_t
164kadm5_get_policies (
165 void */*server_handle*/,
166 char */*exp*/,
167 char ***/*pols*/,
168 int */*count*/);
169
170kadm5_ret_t
171kadm5_get_policy (
172 void */*server_handle*/,
173 char */*policy*/,
174 kadm5_policy_ent_t /*ent*/);
175
176kadm5_ret_t
177kadm5_get_principal (
178 void */*server_handle*/,
179 krb5_principal /*princ*/,
180 kadm5_principal_ent_t /*out*/,
181 uint32_t /*mask*/);
182
183kadm5_ret_t
184kadm5_get_principals (
185 void */*server_handle*/,
186 const char */*expression*/,
187 char ***/*princs*/,
188 int */*count*/);
189
190kadm5_ret_t
191kadm5_get_privs (
192 void */*server_handle*/,
193 uint32_t */*privs*/);
194
195kadm5_ret_t
196kadm5_init_with_creds (
197 const char */*client_name*/,
198 krb5_ccache /*ccache*/,
199 const char */*service_name*/,
200 kadm5_config_params */*realm_params*/,
201 unsigned long /*struct_version*/,
202 unsigned long /*api_version*/,
203 void **/*server_handle*/);
204
205kadm5_ret_t
206kadm5_init_with_creds_ctx (
207 krb5_context /*context*/,
208 const char */*client_name*/,
209 krb5_ccache /*ccache*/,
210 const char */*service_name*/,
211 kadm5_config_params */*realm_params*/,
212 unsigned long /*struct_version*/,
213 unsigned long /*api_version*/,
214 void **/*server_handle*/);
215
216kadm5_ret_t
217kadm5_init_with_password (
218 const char */*client_name*/,
219 const char */*password*/,
220 const char */*service_name*/,
221 kadm5_config_params */*realm_params*/,
222 unsigned long /*struct_version*/,
223 unsigned long /*api_version*/,
224 void **/*server_handle*/);
225
226kadm5_ret_t
227kadm5_init_with_password_ctx (
228 krb5_context /*context*/,
229 const char */*client_name*/,
230 const char */*password*/,
231 const char */*service_name*/,
232 kadm5_config_params */*realm_params*/,
233 unsigned long /*struct_version*/,
234 unsigned long /*api_version*/,
235 void **/*server_handle*/);
236
237kadm5_ret_t
238kadm5_init_with_skey (
239 const char */*client_name*/,
240 const char */*keytab*/,
241 const char */*service_name*/,
242 kadm5_config_params */*realm_params*/,
243 unsigned long /*struct_version*/,
244 unsigned long /*api_version*/,
245 void **/*server_handle*/);
246
247kadm5_ret_t
248kadm5_init_with_skey_ctx (
249 krb5_context /*context*/,
250 const char */*client_name*/,
251 const char */*keytab*/,
252 const char */*service_name*/,
253 kadm5_config_params */*realm_params*/,
254 unsigned long /*struct_version*/,
255 unsigned long /*api_version*/,
256 void **/*server_handle*/);
257
258kadm5_ret_t
259kadm5_lock (void */*server_handle*/);
260
261kadm5_ret_t
262kadm5_modify_policy (
263 void */*server_handle*/,
264 kadm5_policy_ent_t /*policy*/,
265 uint32_t /*mask*/);
266
267kadm5_ret_t
268kadm5_modify_principal (
269 void */*server_handle*/,
270 kadm5_principal_ent_t /*princ*/,
271 uint32_t /*mask*/);
272
273kadm5_ret_t
274kadm5_randkey_principal (
275 void */*server_handle*/,
276 krb5_principal /*princ*/,
277 krb5_keyblock **/*new_keys*/,
278 int */*n_keys*/);
279
280kadm5_ret_t
281kadm5_randkey_principal_3 (
282 void */*server_handle*/,
283 krb5_principal /*princ*/,
284 krb5_boolean /*keepold*/,
285 int /*n_ks_tuple*/,
286 krb5_key_salt_tuple */*ks_tuple*/,
287 krb5_keyblock **/*new_keys*/,
288 int */*n_keys*/);
289
290kadm5_ret_t
291kadm5_rename_principal (
292 void */*server_handle*/,
293 krb5_principal /*source*/,
294 krb5_principal /*target*/);
295
296kadm5_ret_t
297kadm5_ret_key_data (
298 krb5_storage */*sp*/,
299 krb5_key_data */*key*/);
300
301kadm5_ret_t
302kadm5_ret_principal_ent (
303 krb5_storage */*sp*/,
304 kadm5_principal_ent_t /*princ*/);
305
306kadm5_ret_t
307kadm5_ret_principal_ent_mask (
308 krb5_storage */*sp*/,
309 kadm5_principal_ent_t /*princ*/,
310 uint32_t */*mask*/);
311
312kadm5_ret_t
313kadm5_ret_tl_data (
314 krb5_storage */*sp*/,
315 krb5_tl_data */*tl*/);
316
317/**
318 * This function is allows the caller to set new keys for a principal.
319 * This is a trivial wrapper around kadm5_setkey_principal_3().
320 */
321
322kadm5_ret_t
323kadm5_setkey_principal (
324 void */*server_handle*/,
325 krb5_principal /*princ*/,
326 krb5_keyblock */*new_keys*/,
327 int /*n_keys*/);
328
329/**
330 * This function is allows the caller to set new keys for a principal.
331 * This is a simple wrapper around kadm5_get_principal() and
332 * kadm5_modify_principal().
333 */
334
335kadm5_ret_t
336kadm5_setkey_principal_3 (
337 void */*server_handle*/,
338 krb5_principal /*princ*/,
339 krb5_boolean /*keepold*/,
340 int /*n_ks_tuple*/,
341 krb5_key_salt_tuple */*ks_tuple*/,
342 krb5_keyblock */*keyblocks*/,
343 int /*n_keys*/);
344
345void
346kadm5_setup_passwd_quality_check (
347 krb5_context /*context*/,
348 const char */*check_library*/,
349 const char */*check_function*/);
350
351int
352kadm5_some_keys_are_bogus (
353 size_t /*n_keys*/,
354 krb5_key_data */*keys*/);
355
356kadm5_ret_t
357kadm5_store_fake_key_data (
358 krb5_storage */*sp*/,
359 krb5_key_data */*key*/);
360
361kadm5_ret_t
362kadm5_store_key_data (
363 krb5_storage */*sp*/,
364 krb5_key_data */*key*/);
365
366kadm5_ret_t
367kadm5_store_principal_ent (
368 krb5_storage */*sp*/,
369 kadm5_principal_ent_t /*princ*/);
370
371kadm5_ret_t
372kadm5_store_principal_ent_mask (
373 krb5_storage */*sp*/,
374 kadm5_principal_ent_t /*princ*/,
375 uint32_t /*mask*/);
376
377kadm5_ret_t
378kadm5_store_principal_ent_nokeys (
379 krb5_storage */*sp*/,
380 kadm5_principal_ent_t /*princ*/);
381
382kadm5_ret_t
383kadm5_store_tl_data (
384 krb5_storage */*sp*/,
385 krb5_tl_data */*tl*/);
386
387kadm5_ret_t
388kadm5_unlock (void */*server_handle*/);
389
390#ifdef __cplusplus
391}
392#endif
393
394#endif /* DOXY */
395#endif /* __kadm5_protos_h__ */
396