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