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
149233294Sstashdb_entry_get_pkinit_cert (
150233294Sstas	const hdb_entry */*entry*/,
151233294Sstas	const HDB_Ext_PKINIT_cert **/*a*/);
152233294Sstas
153233294Sstaskrb5_error_code
154178825Sdfrhdb_entry_get_pkinit_hash (
155178825Sdfr	const hdb_entry */*entry*/,
156178825Sdfr	const HDB_Ext_PKINIT_hash **/*a*/);
157178825Sdfr
158178825Sdfrkrb5_error_code
159178825Sdfrhdb_entry_get_pw_change_time (
160178825Sdfr	const hdb_entry */*entry*/,
161178825Sdfr	time_t */*t*/);
162178825Sdfr
163178825Sdfrint
164178825Sdfrhdb_entry_set_password (
165178825Sdfr	krb5_context /*context*/,
166178825Sdfr	HDB */*db*/,
167178825Sdfr	hdb_entry */*entry*/,
168178825Sdfr	const char */*p*/);
169178825Sdfr
170178825Sdfrkrb5_error_code
171178825Sdfrhdb_entry_set_pw_change_time (
172178825Sdfr	krb5_context /*context*/,
173178825Sdfr	hdb_entry */*entry*/,
174178825Sdfr	time_t /*t*/);
175178825Sdfr
176178825SdfrHDB_extension *
177178825Sdfrhdb_find_extension (
178178825Sdfr	const hdb_entry */*entry*/,
179178825Sdfr	int /*type*/);
180178825Sdfr
181178825Sdfrkrb5_error_code
182102644Snectarhdb_foreach (
183102644Snectar	krb5_context /*context*/,
184102644Snectar	HDB */*db*/,
185102644Snectar	unsigned /*flags*/,
186102644Snectar	hdb_foreach_func_t /*func*/,
187102644Snectar	void */*data*/);
18855682Smarkm
18955682Smarkmvoid
190178825Sdfrhdb_free_dbinfo (
191178825Sdfr	krb5_context /*context*/,
192178825Sdfr	struct hdb_dbinfo **/*dbp*/);
193178825Sdfr
194178825Sdfrvoid
195102644Snectarhdb_free_entry (
196102644Snectar	krb5_context /*context*/,
197178825Sdfr	hdb_entry_ex */*ent*/);
19855682Smarkm
19955682Smarkmvoid
200102644Snectarhdb_free_key (Key */*key*/);
20155682Smarkm
20272445Sassarvoid
203178825Sdfrhdb_free_keys (
204178825Sdfr	krb5_context /*context*/,
205178825Sdfr	int /*len*/,
206178825Sdfr	Key */*keys*/);
207178825Sdfr
208178825Sdfrvoid
209102644Snectarhdb_free_master_key (
210102644Snectar	krb5_context /*context*/,
211102644Snectar	hdb_master_key /*mkey*/);
21272445Sassar
21355682Smarkmkrb5_error_code
214178825Sdfrhdb_generate_key_set (
215178825Sdfr	krb5_context /*context*/,
216178825Sdfr	krb5_principal /*principal*/,
217178825Sdfr	Key **/*ret_key_set*/,
218178825Sdfr	size_t */*nkeyset*/,
219178825Sdfr	int /*no_salt*/);
220178825Sdfr
221178825Sdfrkrb5_error_code
222178825Sdfrhdb_generate_key_set_password (
223178825Sdfr	krb5_context /*context*/,
224178825Sdfr	krb5_principal /*principal*/,
225178825Sdfr	const char */*password*/,
226178825Sdfr	Key **/*keys*/,
227178825Sdfr	size_t */*num_keys*/);
228178825Sdfr
229178825Sdfrint
230178825Sdfrhdb_get_dbinfo (
231178825Sdfr	krb5_context /*context*/,
232178825Sdfr	struct hdb_dbinfo **/*dbp*/);
233178825Sdfr
234178825Sdfrkrb5_error_code
235102644Snectarhdb_init_db (
236102644Snectar	krb5_context /*context*/,
237102644Snectar	HDB */*db*/);
23855682Smarkm
23955682Smarkmint
240102644Snectarhdb_key2principal (
241102644Snectar	krb5_context /*context*/,
242102644Snectar	krb5_data */*key*/,
243102644Snectar	krb5_principal /*p*/);
24455682Smarkm
24555682Smarkmkrb5_error_code
246233294Sstashdb_keytab_create (
247178825Sdfr	krb5_context /*context*/,
248178825Sdfr	HDB ** /*db*/,
249233294Sstas	const char */*arg*/);
250178825Sdfr
251178825Sdfrkrb5_error_code
252102644Snectarhdb_ldap_create (
253102644Snectar	krb5_context /*context*/,
254102644Snectar	HDB ** /*db*/,
255102644Snectar	const char */*arg*/);
25672445Sassar
25772445Sassarkrb5_error_code
258178825Sdfrhdb_ldapi_create (
259178825Sdfr	krb5_context /*context*/,
260178825Sdfr	HDB ** /*db*/,
261178825Sdfr	const char */*arg*/);
262178825Sdfr
263178825Sdfrkrb5_error_code
264178825Sdfrhdb_list_builtin (
265178825Sdfr	krb5_context /*context*/,
266178825Sdfr	char **/*list*/);
267178825Sdfr
268178825Sdfrkrb5_error_code
269102644Snectarhdb_lock (
270102644Snectar	int /*fd*/,
271102644Snectar	int /*operation*/);
27255682Smarkm
27355682Smarkmkrb5_error_code
274233294Sstashdb_mdb_create (
275233294Sstas	krb5_context /*context*/,
276233294Sstas	HDB **/*db*/,
277233294Sstas	const char */*filename*/);
278233294Sstas
279233294Sstaskrb5_error_code
280102644Snectarhdb_ndbm_create (
281102644Snectar	krb5_context /*context*/,
282102644Snectar	HDB **/*db*/,
283102644Snectar	const char */*filename*/);
28455682Smarkm
28555682Smarkmkrb5_error_code
286102644Snectarhdb_next_enctype2key (
287102644Snectar	krb5_context /*context*/,
288102644Snectar	const hdb_entry */*e*/,
289102644Snectar	krb5_enctype /*enctype*/,
290102644Snectar	Key **/*key*/);
29155682Smarkm
29255682Smarkmint
293102644Snectarhdb_principal2key (
294102644Snectar	krb5_context /*context*/,
295178825Sdfr	krb5_const_principal /*p*/,
296102644Snectar	krb5_data */*key*/);
29755682Smarkm
29855682Smarkmkrb5_error_code
299102644Snectarhdb_print_entry (
300102644Snectar	krb5_context /*context*/,
301102644Snectar	HDB */*db*/,
302178825Sdfr	hdb_entry_ex */*entry*/,
303102644Snectar	void */*data*/);
30455682Smarkm
30555682Smarkmkrb5_error_code
306102644Snectarhdb_process_master_key (
307102644Snectar	krb5_context /*context*/,
308102644Snectar	int /*kvno*/,
309102644Snectar	krb5_keyblock */*key*/,
310102644Snectar	krb5_enctype /*etype*/,
311102644Snectar	hdb_master_key */*mkey*/);
31255682Smarkm
31355682Smarkmkrb5_error_code
314102644Snectarhdb_read_master_key (
315102644Snectar	krb5_context /*context*/,
316102644Snectar	const char */*filename*/,
317102644Snectar	hdb_master_key */*mkey*/);
31855682Smarkm
31972445Sassarkrb5_error_code
320178825Sdfrhdb_replace_extension (
321178825Sdfr	krb5_context /*context*/,
322178825Sdfr	hdb_entry */*entry*/,
323178825Sdfr	const HDB_extension */*ext*/);
324178825Sdfr
325178825Sdfrkrb5_error_code
326178825Sdfrhdb_seal_key (
327178825Sdfr	krb5_context /*context*/,
328178825Sdfr	HDB */*db*/,
329178825Sdfr	Key */*k*/);
330178825Sdfr
331178825Sdfrkrb5_error_code
332178825Sdfrhdb_seal_key_mkey (
333178825Sdfr	krb5_context /*context*/,
334178825Sdfr	Key */*k*/,
335178825Sdfr	hdb_master_key /*mkey*/);
336178825Sdfr
337178825Sdfrkrb5_error_code
338102644Snectarhdb_seal_keys (
339102644Snectar	krb5_context /*context*/,
340102644Snectar	HDB */*db*/,
341102644Snectar	hdb_entry */*ent*/);
34255682Smarkm
34355682Smarkmkrb5_error_code
344102644Snectarhdb_seal_keys_mkey (
345102644Snectar	krb5_context /*context*/,
346102644Snectar	hdb_entry */*ent*/,
347102644Snectar	hdb_master_key /*mkey*/);
34872445Sassar
34972445Sassarkrb5_error_code
350102644Snectarhdb_set_master_key (
351102644Snectar	krb5_context /*context*/,
352102644Snectar	HDB */*db*/,
353102644Snectar	krb5_keyblock */*key*/);
35455682Smarkm
35555682Smarkmkrb5_error_code
356102644Snectarhdb_set_master_keyfile (
357102644Snectar	krb5_context /*context*/,
358102644Snectar	HDB */*db*/,
359102644Snectar	const char */*keyfile*/);
36055682Smarkm
36155682Smarkmkrb5_error_code
362233294Sstashdb_sqlite_create (
363233294Sstas	krb5_context /*context*/,
364233294Sstas	HDB **/*db*/,
365233294Sstas	const char */*argument*/);
366233294Sstas
367233294Sstaskrb5_error_code
368102644Snectarhdb_unlock (int /*fd*/);
36955682Smarkm
37072445Sassarkrb5_error_code
371178825Sdfrhdb_unseal_key (
372178825Sdfr	krb5_context /*context*/,
373178825Sdfr	HDB */*db*/,
374178825Sdfr	Key */*k*/);
375178825Sdfr
376178825Sdfrkrb5_error_code
377178825Sdfrhdb_unseal_key_mkey (
378178825Sdfr	krb5_context /*context*/,
379178825Sdfr	Key */*k*/,
380178825Sdfr	hdb_master_key /*mkey*/);
381178825Sdfr
382178825Sdfrkrb5_error_code
383102644Snectarhdb_unseal_keys (
384102644Snectar	krb5_context /*context*/,
385102644Snectar	HDB */*db*/,
386102644Snectar	hdb_entry */*ent*/);
38755682Smarkm
38872445Sassarkrb5_error_code
389102644Snectarhdb_unseal_keys_mkey (
390102644Snectar	krb5_context /*context*/,
391102644Snectar	hdb_entry */*ent*/,
392102644Snectar	hdb_master_key /*mkey*/);
39372445Sassar
39455682Smarkmint
395102644Snectarhdb_value2entry (
396102644Snectar	krb5_context /*context*/,
397102644Snectar	krb5_data */*value*/,
398102644Snectar	hdb_entry */*ent*/);
39955682Smarkm
400178825Sdfrint
401178825Sdfrhdb_value2entry_alias (
402178825Sdfr	krb5_context /*context*/,
403178825Sdfr	krb5_data */*value*/,
404178825Sdfr	hdb_entry_alias */*ent*/);
405178825Sdfr
40672445Sassarkrb5_error_code
407102644Snectarhdb_write_master_key (
408102644Snectar	krb5_context /*context*/,
409102644Snectar	const char */*filename*/,
410102644Snectar	hdb_master_key /*mkey*/);
41172445Sassar
412178825Sdfr#ifdef __cplusplus
413178825Sdfr}
414178825Sdfr#endif
415178825Sdfr
41655682Smarkm#endif /* __hdb_protos_h__ */
417