xref: /netbsd-src/crypto/external/bsd/heimdal/include/kadm5-protos.h (revision d3273b5b76f5afaafe308cead5511dbb8df8c5e9)
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
9 extern "C" {
10 #endif
11 
12 kadm5_ret_t
13 kadm5_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 
22 kadm5_ret_t
23 kadm5_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 
33 krb5_error_code
34 kadm5_add_passwd_quality_verifier (
35 	krb5_context /*context*/,
36 	const char */*check_library*/);
37 
38 int
39 kadm5_all_keys_are_bogus (
40 	size_t /*n_keys*/,
41 	krb5_key_data */*keys*/);
42 
43 const char *
44 kadm5_check_password_quality (
45 	krb5_context /*context*/,
46 	krb5_principal /*principal*/,
47 	krb5_data */*pwd_data*/);
48 
49 kadm5_ret_t
50 kadm5_chpass_principal (
51 	void */*server_handle*/,
52 	krb5_principal /*princ*/,
53 	const char */*password*/);
54 
55 kadm5_ret_t
56 kadm5_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 
64 kadm5_ret_t
65 kadm5_chpass_principal_with_key (
66 	void */*server_handle*/,
67 	krb5_principal /*princ*/,
68 	int /*n_key_data*/,
69 	krb5_key_data */*key_data*/);
70 
71 kadm5_ret_t
72 kadm5_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 
79 kadm5_ret_t
80 kadm5_create_policy (
81 	void */*server_handle*/,
82 	kadm5_policy_ent_t /*policy*/,
83 	long /*mask*/);
84 
85 kadm5_ret_t
86 kadm5_create_principal (
87 	void */*server_handle*/,
88 	kadm5_principal_ent_t /*princ*/,
89 	uint32_t /*mask*/,
90 	const char */*password*/);
91 
92 kadm5_ret_t
93 kadm5_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 
116 kadm5_ret_t
117 kadm5_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 
127 kadm5_ret_t
128 kadm5_delete_policy (
129 	void */*server_handle*/,
130 	char */*name*/);
131 
132 kadm5_ret_t
133 kadm5_delete_principal (
134 	void */*server_handle*/,
135 	krb5_principal /*princ*/);
136 
137 kadm5_ret_t
138 kadm5_destroy (void */*server_handle*/);
139 
140 kadm5_ret_t
141 kadm5_flush (void */*server_handle*/);
142 
143 void
144 kadm5_free_key_data (
145 	void */*server_handle*/,
146 	int16_t */*n_key_data*/,
147 	krb5_key_data */*key_data*/);
148 
149 void
150 kadm5_free_name_list (
151 	void */*server_handle*/,
152 	char **/*names*/,
153 	int */*count*/);
154 
155 kadm5_ret_t
156 kadm5_free_policy_ent (kadm5_policy_ent_t /*ent*/);
157 
158 void
159 kadm5_free_principal_ent (
160 	void */*server_handle*/,
161 	kadm5_principal_ent_t /*princ*/);
162 
163 kadm5_ret_t
164 kadm5_get_policies (
165 	void */*server_handle*/,
166 	char */*exp*/,
167 	char ***/*pols*/,
168 	int */*count*/);
169 
170 kadm5_ret_t
171 kadm5_get_policy (
172 	void */*server_handle*/,
173 	char */*policy*/,
174 	kadm5_policy_ent_t /*ent*/);
175 
176 kadm5_ret_t
177 kadm5_get_principal (
178 	void */*server_handle*/,
179 	krb5_principal /*princ*/,
180 	kadm5_principal_ent_t /*out*/,
181 	uint32_t /*mask*/);
182 
183 kadm5_ret_t
184 kadm5_get_principals (
185 	void */*server_handle*/,
186 	const char */*expression*/,
187 	char ***/*princs*/,
188 	int */*count*/);
189 
190 kadm5_ret_t
191 kadm5_get_privs (
192 	void */*server_handle*/,
193 	uint32_t */*privs*/);
194 
195 kadm5_ret_t
196 kadm5_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 
205 kadm5_ret_t
206 kadm5_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 
216 kadm5_ret_t
217 kadm5_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 
226 kadm5_ret_t
227 kadm5_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 
237 kadm5_ret_t
238 kadm5_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 
247 kadm5_ret_t
248 kadm5_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 
258 kadm5_ret_t
259 kadm5_lock (void */*server_handle*/);
260 
261 kadm5_ret_t
262 kadm5_modify_policy (
263 	void */*server_handle*/,
264 	kadm5_policy_ent_t /*policy*/,
265 	uint32_t /*mask*/);
266 
267 kadm5_ret_t
268 kadm5_modify_principal (
269 	void */*server_handle*/,
270 	kadm5_principal_ent_t /*princ*/,
271 	uint32_t /*mask*/);
272 
273 kadm5_ret_t
274 kadm5_randkey_principal (
275 	void */*server_handle*/,
276 	krb5_principal /*princ*/,
277 	krb5_keyblock **/*new_keys*/,
278 	int */*n_keys*/);
279 
280 kadm5_ret_t
281 kadm5_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 
290 kadm5_ret_t
291 kadm5_rename_principal (
292 	void */*server_handle*/,
293 	krb5_principal /*source*/,
294 	krb5_principal /*target*/);
295 
296 kadm5_ret_t
297 kadm5_ret_key_data (
298 	krb5_storage */*sp*/,
299 	krb5_key_data */*key*/);
300 
301 kadm5_ret_t
302 kadm5_ret_principal_ent (
303 	krb5_storage */*sp*/,
304 	kadm5_principal_ent_t /*princ*/);
305 
306 kadm5_ret_t
307 kadm5_ret_principal_ent_mask (
308 	krb5_storage */*sp*/,
309 	kadm5_principal_ent_t /*princ*/,
310 	uint32_t */*mask*/);
311 
312 kadm5_ret_t
313 kadm5_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 
322 kadm5_ret_t
323 kadm5_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 
335 kadm5_ret_t
336 kadm5_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 
345 void
346 kadm5_setup_passwd_quality_check (
347 	krb5_context /*context*/,
348 	const char */*check_library*/,
349 	const char */*check_function*/);
350 
351 int
352 kadm5_some_keys_are_bogus (
353 	size_t /*n_keys*/,
354 	krb5_key_data */*keys*/);
355 
356 kadm5_ret_t
357 kadm5_store_fake_key_data (
358 	krb5_storage */*sp*/,
359 	krb5_key_data */*key*/);
360 
361 kadm5_ret_t
362 kadm5_store_key_data (
363 	krb5_storage */*sp*/,
364 	krb5_key_data */*key*/);
365 
366 kadm5_ret_t
367 kadm5_store_principal_ent (
368 	krb5_storage */*sp*/,
369 	kadm5_principal_ent_t /*princ*/);
370 
371 kadm5_ret_t
372 kadm5_store_principal_ent_mask (
373 	krb5_storage */*sp*/,
374 	kadm5_principal_ent_t /*princ*/,
375 	uint32_t /*mask*/);
376 
377 kadm5_ret_t
378 kadm5_store_principal_ent_nokeys (
379 	krb5_storage */*sp*/,
380 	kadm5_principal_ent_t /*princ*/);
381 
382 kadm5_ret_t
383 kadm5_store_tl_data (
384 	krb5_storage */*sp*/,
385 	krb5_tl_data */*tl*/);
386 
387 kadm5_ret_t
388 kadm5_unlock (void */*server_handle*/);
389 
390 #ifdef __cplusplus
391 }
392 #endif
393 
394 #endif /* DOXY */
395 #endif /* __kadm5_protos_h__ */
396