155682Smarkm/* This is a generated file */
255682Smarkm#ifndef __hdb_protos_h__
355682Smarkm#define __hdb_protos_h__
455682Smarkm
555682Smarkm#include <stdarg.h>
655682Smarkm
7178825Sdfr#ifdef __cplusplus
8178825Sdfrextern "C" {
9178825Sdfr#endif
10178825Sdfr
1155682Smarkmkrb5_error_code
12102644Snectarhdb_add_master_key (
13102644Snectar	krb5_context /*context*/,
14102644Snectar	krb5_keyblock */*key*/,
15102644Snectar	hdb_master_key */*inout*/);
1672445Sassar
1772445Sassarkrb5_error_code
18102644Snectarhdb_check_db_format (
19102644Snectar	krb5_context /*context*/,
20102644Snectar	HDB */*db*/);
2155682Smarkm
2255682Smarkmkrb5_error_code
23178825Sdfrhdb_clear_extension (
24178825Sdfr	krb5_context /*context*/,
25178825Sdfr	hdb_entry */*entry*/,
26178825Sdfr	int /*type*/);
27178825Sdfr
28178825Sdfrkrb5_error_code
29102644Snectarhdb_clear_master_key (
30102644Snectar	krb5_context /*context*/,
31102644Snectar	HDB */*db*/);
3255682Smarkm
3355682Smarkmkrb5_error_code
34102644Snectarhdb_create (
35102644Snectar	krb5_context /*context*/,
36102644Snectar	HDB **/*db*/,
37102644Snectar	const char */*filename*/);
3855682Smarkm
3955682Smarkmkrb5_error_code
40102644Snectarhdb_db_create (
41102644Snectar	krb5_context /*context*/,
42102644Snectar	HDB **/*db*/,
43102644Snectar	const char */*filename*/);
4455682Smarkm
45178825Sdfrconst char *
46178825Sdfrhdb_db_dir (krb5_context /*context*/);
47178825Sdfr
48178825Sdfrconst char *
49178825Sdfrhdb_dbinfo_get_acl_file (
50178825Sdfr	krb5_context /*context*/,
51178825Sdfr	struct hdb_dbinfo */*dbp*/);
52178825Sdfr
53178825Sdfrconst krb5_config_binding *
54178825Sdfrhdb_dbinfo_get_binding (
55178825Sdfr	krb5_context /*context*/,
56178825Sdfr	struct hdb_dbinfo */*dbp*/);
57178825Sdfr
58178825Sdfrconst char *
59178825Sdfrhdb_dbinfo_get_dbname (
60178825Sdfr	krb5_context /*context*/,
61178825Sdfr	struct hdb_dbinfo */*dbp*/);
62178825Sdfr
63178825Sdfrconst char *
64178825Sdfrhdb_dbinfo_get_label (
65178825Sdfr	krb5_context /*context*/,
66178825Sdfr	struct hdb_dbinfo */*dbp*/);
67178825Sdfr
68178825Sdfrconst char *
69178825Sdfrhdb_dbinfo_get_log_file (
70178825Sdfr	krb5_context /*context*/,
71178825Sdfr	struct hdb_dbinfo */*dbp*/);
72178825Sdfr
73178825Sdfrconst char *
74178825Sdfrhdb_dbinfo_get_mkey_file (
75178825Sdfr	krb5_context /*context*/,
76178825Sdfr	struct hdb_dbinfo */*dbp*/);
77178825Sdfr
78178825Sdfrstruct hdb_dbinfo *
79178825Sdfrhdb_dbinfo_get_next (
80178825Sdfr	struct hdb_dbinfo */*dbp*/,
81178825Sdfr	struct hdb_dbinfo */*dbprevp*/);
82178825Sdfr
83178825Sdfrconst char *
84178825Sdfrhdb_dbinfo_get_realm (
85178825Sdfr	krb5_context /*context*/,
86178825Sdfr	struct hdb_dbinfo */*dbp*/);
87178825Sdfr
88178825Sdfrconst char *
89178825Sdfrhdb_default_db (krb5_context /*context*/);
90178825Sdfr
9155682Smarkmkrb5_error_code
92102644Snectarhdb_enctype2key (
93102644Snectar	krb5_context /*context*/,
94102644Snectar	hdb_entry */*e*/,
95102644Snectar	krb5_enctype /*enctype*/,
96102644Snectar	Key **/*key*/);
9755682Smarkm
9855682Smarkmkrb5_error_code
99102644Snectarhdb_entry2string (
100102644Snectar	krb5_context /*context*/,
101102644Snectar	hdb_entry */*ent*/,
102102644Snectar	char **/*str*/);
10355682Smarkm
10455682Smarkmint
105102644Snectarhdb_entry2value (
106102644Snectar	krb5_context /*context*/,
107178825Sdfr	const hdb_entry */*ent*/,
108102644Snectar	krb5_data */*value*/);
10955682Smarkm
110178825Sdfrint
111178825Sdfrhdb_entry_alias2value (
112178825Sdfr	krb5_context /*context*/,
113178825Sdfr	const hdb_entry_alias */*alias*/,
114178825Sdfr	krb5_data */*value*/);
115178825Sdfr
11655682Smarkmkrb5_error_code
117178825Sdfrhdb_entry_check_mandatory (
118178825Sdfr	krb5_context /*context*/,
119178825Sdfr	const hdb_entry */*ent*/);
120178825Sdfr
121178825Sdfrint
122178825Sdfrhdb_entry_clear_password (
123178825Sdfr	krb5_context /*context*/,
124178825Sdfr	hdb_entry */*entry*/);
125178825Sdfr
126178825Sdfrkrb5_error_code
127178825Sdfrhdb_entry_get_ConstrainedDelegACL (
128178825Sdfr	const hdb_entry */*entry*/,
129178825Sdfr	const HDB_Ext_Constrained_delegation_acl **/*a*/);
130178825Sdfr
131178825Sdfrkrb5_error_code
132178825Sdfrhdb_entry_get_aliases (
133178825Sdfr	const hdb_entry */*entry*/,
134178825Sdfr	const HDB_Ext_Aliases **/*a*/);
135178825Sdfr
136178825Sdfrint
137178825Sdfrhdb_entry_get_password (
138178825Sdfr	krb5_context /*context*/,
139178825Sdfr	HDB */*db*/,
140178825Sdfr	const hdb_entry */*entry*/,
141178825Sdfr	char **/*p*/);
142178825Sdfr
143178825Sdfrkrb5_error_code
144178825Sdfrhdb_entry_get_pkinit_acl (
145178825Sdfr	const hdb_entry */*entry*/,
146178825Sdfr	const HDB_Ext_PKINIT_acl **/*a*/);
147178825Sdfr
148178825Sdfrkrb5_error_code
149178825Sdfrhdb_entry_get_pkinit_hash (
150178825Sdfr	const hdb_entry */*entry*/,
151178825Sdfr	const HDB_Ext_PKINIT_hash **/*a*/);
152178825Sdfr
153178825Sdfrkrb5_error_code
154178825Sdfrhdb_entry_get_pw_change_time (
155178825Sdfr	const hdb_entry */*entry*/,
156178825Sdfr	time_t */*t*/);
157178825Sdfr
158178825Sdfrint
159178825Sdfrhdb_entry_set_password (
160178825Sdfr	krb5_context /*context*/,
161178825Sdfr	HDB */*db*/,
162178825Sdfr	hdb_entry */*entry*/,
163178825Sdfr	const char */*p*/);
164178825Sdfr
165178825Sdfrkrb5_error_code
166178825Sdfrhdb_entry_set_pw_change_time (
167178825Sdfr	krb5_context /*context*/,
168178825Sdfr	hdb_entry */*entry*/,
169178825Sdfr	time_t /*t*/);
170178825Sdfr
171178825SdfrHDB_extension *
172178825Sdfrhdb_find_extension (
173178825Sdfr	const hdb_entry */*entry*/,
174178825Sdfr	int /*type*/);
175178825Sdfr
176178825Sdfrkrb5_error_code
177102644Snectarhdb_foreach (
178102644Snectar	krb5_context /*context*/,
179102644Snectar	HDB */*db*/,
180102644Snectar	unsigned /*flags*/,
181102644Snectar	hdb_foreach_func_t /*func*/,
182102644Snectar	void */*data*/);
18355682Smarkm
18455682Smarkmvoid
185178825Sdfrhdb_free_dbinfo (
186178825Sdfr	krb5_context /*context*/,
187178825Sdfr	struct hdb_dbinfo **/*dbp*/);
188178825Sdfr
189178825Sdfrvoid
190102644Snectarhdb_free_entry (
191102644Snectar	krb5_context /*context*/,
192178825Sdfr	hdb_entry_ex */*ent*/);
19355682Smarkm
19455682Smarkmvoid
195102644Snectarhdb_free_key (Key */*key*/);
19655682Smarkm
19772445Sassarvoid
198178825Sdfrhdb_free_keys (
199178825Sdfr	krb5_context /*context*/,
200178825Sdfr	int /*len*/,
201178825Sdfr	Key */*keys*/);
202178825Sdfr
203178825Sdfrvoid
204102644Snectarhdb_free_master_key (
205102644Snectar	krb5_context /*context*/,
206102644Snectar	hdb_master_key /*mkey*/);
20772445Sassar
20855682Smarkmkrb5_error_code
209178825Sdfrhdb_generate_key_set (
210178825Sdfr	krb5_context /*context*/,
211178825Sdfr	krb5_principal /*principal*/,
212178825Sdfr	Key **/*ret_key_set*/,
213178825Sdfr	size_t */*nkeyset*/,
214178825Sdfr	int /*no_salt*/);
215178825Sdfr
216178825Sdfrkrb5_error_code
217178825Sdfrhdb_generate_key_set_password (
218178825Sdfr	krb5_context /*context*/,
219178825Sdfr	krb5_principal /*principal*/,
220178825Sdfr	const char */*password*/,
221178825Sdfr	Key **/*keys*/,
222178825Sdfr	size_t */*num_keys*/);
223178825Sdfr
224178825Sdfrint
225178825Sdfrhdb_get_dbinfo (
226178825Sdfr	krb5_context /*context*/,
227178825Sdfr	struct hdb_dbinfo **/*dbp*/);
228178825Sdfr
229178825Sdfrkrb5_error_code
230102644Snectarhdb_init_db (
231102644Snectar	krb5_context /*context*/,
232102644Snectar	HDB */*db*/);
23355682Smarkm
23455682Smarkmint
235102644Snectarhdb_key2principal (
236102644Snectar	krb5_context /*context*/,
237102644Snectar	krb5_data */*key*/,
238102644Snectar	krb5_principal /*p*/);
23955682Smarkm
24055682Smarkmkrb5_error_code
241178825Sdfrhdb_ldap_common (
242178825Sdfr	krb5_context /*context*/,
243178825Sdfr	HDB ** /*db*/,
244178825Sdfr	const char */*search_base*/,
245178825Sdfr	const char */*url*/);
246178825Sdfr
247178825Sdfrkrb5_error_code
248102644Snectarhdb_ldap_create (
249102644Snectar	krb5_context /*context*/,
250102644Snectar	HDB ** /*db*/,
251102644Snectar	const char */*arg*/);
25272445Sassar
25372445Sassarkrb5_error_code
254178825Sdfrhdb_ldapi_create (
255178825Sdfr	krb5_context /*context*/,
256178825Sdfr	HDB ** /*db*/,
257178825Sdfr	const char */*arg*/);
258178825Sdfr
259178825Sdfrkrb5_error_code
260178825Sdfrhdb_list_builtin (
261178825Sdfr	krb5_context /*context*/,
262178825Sdfr	char **/*list*/);
263178825Sdfr
264178825Sdfrkrb5_error_code
265102644Snectarhdb_lock (
266102644Snectar	int /*fd*/,
267102644Snectar	int /*operation*/);
26855682Smarkm
26955682Smarkmkrb5_error_code
270102644Snectarhdb_ndbm_create (
271102644Snectar	krb5_context /*context*/,
272102644Snectar	HDB **/*db*/,
273102644Snectar	const char */*filename*/);
27455682Smarkm
27555682Smarkmkrb5_error_code
276102644Snectarhdb_next_enctype2key (
277102644Snectar	krb5_context /*context*/,
278102644Snectar	const hdb_entry */*e*/,
279102644Snectar	krb5_enctype /*enctype*/,
280102644Snectar	Key **/*key*/);
28155682Smarkm
28255682Smarkmint
283102644Snectarhdb_principal2key (
284102644Snectar	krb5_context /*context*/,
285178825Sdfr	krb5_const_principal /*p*/,
286102644Snectar	krb5_data */*key*/);
28755682Smarkm
28855682Smarkmkrb5_error_code
289102644Snectarhdb_print_entry (
290102644Snectar	krb5_context /*context*/,
291102644Snectar	HDB */*db*/,
292178825Sdfr	hdb_entry_ex */*entry*/,
293102644Snectar	void */*data*/);
29455682Smarkm
29555682Smarkmkrb5_error_code
296102644Snectarhdb_process_master_key (
297102644Snectar	krb5_context /*context*/,
298102644Snectar	int /*kvno*/,
299102644Snectar	krb5_keyblock */*key*/,
300102644Snectar	krb5_enctype /*etype*/,
301102644Snectar	hdb_master_key */*mkey*/);
30255682Smarkm
30355682Smarkmkrb5_error_code
304102644Snectarhdb_read_master_key (
305102644Snectar	krb5_context /*context*/,
306102644Snectar	const char */*filename*/,
307102644Snectar	hdb_master_key */*mkey*/);
30855682Smarkm
30972445Sassarkrb5_error_code
310178825Sdfrhdb_replace_extension (
311178825Sdfr	krb5_context /*context*/,
312178825Sdfr	hdb_entry */*entry*/,
313178825Sdfr	const HDB_extension */*ext*/);
314178825Sdfr
315178825Sdfrkrb5_error_code
316178825Sdfrhdb_seal_key (
317178825Sdfr	krb5_context /*context*/,
318178825Sdfr	HDB */*db*/,
319178825Sdfr	Key */*k*/);
320178825Sdfr
321178825Sdfrkrb5_error_code
322178825Sdfrhdb_seal_key_mkey (
323178825Sdfr	krb5_context /*context*/,
324178825Sdfr	Key */*k*/,
325178825Sdfr	hdb_master_key /*mkey*/);
326178825Sdfr
327178825Sdfrkrb5_error_code
328102644Snectarhdb_seal_keys (
329102644Snectar	krb5_context /*context*/,
330102644Snectar	HDB */*db*/,
331102644Snectar	hdb_entry */*ent*/);
33255682Smarkm
33355682Smarkmkrb5_error_code
334102644Snectarhdb_seal_keys_mkey (
335102644Snectar	krb5_context /*context*/,
336102644Snectar	hdb_entry */*ent*/,
337102644Snectar	hdb_master_key /*mkey*/);
33872445Sassar
33972445Sassarkrb5_error_code
340102644Snectarhdb_set_master_key (
341102644Snectar	krb5_context /*context*/,
342102644Snectar	HDB */*db*/,
343102644Snectar	krb5_keyblock */*key*/);
34455682Smarkm
34555682Smarkmkrb5_error_code
346102644Snectarhdb_set_master_keyfile (
347102644Snectar	krb5_context /*context*/,
348102644Snectar	HDB */*db*/,
349102644Snectar	const char */*keyfile*/);
35055682Smarkm
35155682Smarkmkrb5_error_code
352102644Snectarhdb_unlock (int /*fd*/);
35355682Smarkm
35472445Sassarkrb5_error_code
355178825Sdfrhdb_unseal_key (
356178825Sdfr	krb5_context /*context*/,
357178825Sdfr	HDB */*db*/,
358178825Sdfr	Key */*k*/);
359178825Sdfr
360178825Sdfrkrb5_error_code
361178825Sdfrhdb_unseal_key_mkey (
362178825Sdfr	krb5_context /*context*/,
363178825Sdfr	Key */*k*/,
364178825Sdfr	hdb_master_key /*mkey*/);
365178825Sdfr
366178825Sdfrkrb5_error_code
367102644Snectarhdb_unseal_keys (
368102644Snectar	krb5_context /*context*/,
369102644Snectar	HDB */*db*/,
370102644Snectar	hdb_entry */*ent*/);
37155682Smarkm
37272445Sassarkrb5_error_code
373102644Snectarhdb_unseal_keys_mkey (
374102644Snectar	krb5_context /*context*/,
375102644Snectar	hdb_entry */*ent*/,
376102644Snectar	hdb_master_key /*mkey*/);
37772445Sassar
37855682Smarkmint
379102644Snectarhdb_value2entry (
380102644Snectar	krb5_context /*context*/,
381102644Snectar	krb5_data */*value*/,
382102644Snectar	hdb_entry */*ent*/);
38355682Smarkm
384178825Sdfrint
385178825Sdfrhdb_value2entry_alias (
386178825Sdfr	krb5_context /*context*/,
387178825Sdfr	krb5_data */*value*/,
388178825Sdfr	hdb_entry_alias */*ent*/);
389178825Sdfr
39072445Sassarkrb5_error_code
391102644Snectarhdb_write_master_key (
392102644Snectar	krb5_context /*context*/,
393102644Snectar	const char */*filename*/,
394102644Snectar	hdb_master_key /*mkey*/);
39572445Sassar
396178825Sdfr#ifdef __cplusplus
397178825Sdfr}
398178825Sdfr#endif
399178825Sdfr
40055682Smarkm#endif /* __hdb_protos_h__ */
401