xref: /freebsd/crypto/heimdal/lib/krb5/krb5-private.h (revision c19800e8)
1b528cefcSMark Murray /* This is a generated file */
2b528cefcSMark Murray #ifndef __krb5_private_h__
3b528cefcSMark Murray #define __krb5_private_h__
4b528cefcSMark Murray 
5b528cefcSMark Murray #include <stdarg.h>
6b528cefcSMark Murray 
7c19800e8SDoug Rabson #if !defined(__GNUC__) && !defined(__attribute__)
8bbd80c28SJacques Vidrine #define __attribute__(x)
9bbd80c28SJacques Vidrine #endif
10bbd80c28SJacques Vidrine 
11bbd80c28SJacques Vidrine #ifndef KRB5_DEPRECATED_FUNCTION
12c19800e8SDoug Rabson #if defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1 )))
13bbd80c28SJacques Vidrine #define KRB5_DEPRECATED_FUNCTION(X) __attribute__((__deprecated__))
14c19800e8SDoug Rabson #else
15c19800e8SDoug Rabson #define KRB5_DEPRECATED_FUNCTION(X)
16c19800e8SDoug Rabson #endif
17c19800e8SDoug Rabson #endif
18c19800e8SDoug Rabson 
19c19800e8SDoug Rabson 
20c19800e8SDoug Rabson void
21bbd80c28SJacques Vidrine _heim_krb5_ipc_client_clear_target (void);
22bbd80c28SJacques Vidrine 
238373020dSJacques Vidrine void
24b528cefcSMark Murray _heim_krb5_ipc_client_set_target_uid (uid_t /*uid*/);
25c19800e8SDoug Rabson 
268373020dSJacques Vidrine void
278373020dSJacques Vidrine _krb5_DES3_random_to_key (
288373020dSJacques Vidrine 	krb5_context /*context*/,
29c19800e8SDoug Rabson 	krb5_keyblock */*key*/,
30c19800e8SDoug Rabson 	const void */*data*/,
31c19800e8SDoug Rabson 	size_t /*size*/);
32c19800e8SDoug Rabson 
33c19800e8SDoug Rabson krb5_error_code
34c19800e8SDoug Rabson _krb5_HMAC_MD5_checksum (
35c19800e8SDoug Rabson 	krb5_context /*context*/,
36c19800e8SDoug Rabson 	struct _krb5_key_data */*key*/,
37c19800e8SDoug Rabson 	const void */*data*/,
38c19800e8SDoug Rabson 	size_t /*len*/,
39c19800e8SDoug Rabson 	unsigned /*usage*/,
40c19800e8SDoug Rabson 	Checksum */*result*/);
41c19800e8SDoug Rabson 
42c19800e8SDoug Rabson krb5_error_code
43c19800e8SDoug Rabson _krb5_SP_HMAC_SHA1_checksum (
44c19800e8SDoug Rabson 	krb5_context /*context*/,
45c19800e8SDoug Rabson 	struct _krb5_key_data */*key*/,
46c19800e8SDoug Rabson 	const void */*data*/,
47c19800e8SDoug Rabson 	size_t /*len*/,
48c19800e8SDoug Rabson 	unsigned /*usage*/,
49c19800e8SDoug Rabson 	Checksum */*result*/);
50c19800e8SDoug Rabson 
51c19800e8SDoug Rabson KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
52b528cefcSMark Murray _krb5_build_authenticator (
53b528cefcSMark Murray 	krb5_context /*context*/,
548373020dSJacques Vidrine 	krb5_auth_context /*auth_context*/,
558373020dSJacques Vidrine 	krb5_enctype /*enctype*/,
568373020dSJacques Vidrine 	krb5_creds */*cred*/,
578373020dSJacques Vidrine 	Checksum */*cksum*/,
588373020dSJacques Vidrine 	krb5_data */*result*/,
598373020dSJacques Vidrine 	krb5_key_usage /*usage*/);
608373020dSJacques Vidrine 
618373020dSJacques Vidrine krb5_error_code
628373020dSJacques Vidrine _krb5_cc_allocate (
63c19800e8SDoug Rabson 	krb5_context /*context*/,
648373020dSJacques Vidrine 	const krb5_cc_ops */*ops*/,
658373020dSJacques Vidrine 	krb5_ccache */*id*/);
66b528cefcSMark Murray 
67c19800e8SDoug Rabson KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
68c19800e8SDoug Rabson _krb5_config_copy (
69c19800e8SDoug Rabson 	krb5_context /*context*/,
70c19800e8SDoug Rabson 	krb5_config_section */*c*/,
71c19800e8SDoug Rabson 	krb5_config_section **/*head*/);
72c19800e8SDoug Rabson 
73c19800e8SDoug Rabson KRB5_LIB_FUNCTION const void * KRB5_LIB_CALL
74c19800e8SDoug Rabson _krb5_config_get (
75c19800e8SDoug Rabson 	krb5_context /*context*/,
76c19800e8SDoug Rabson 	const krb5_config_section */*c*/,
77c19800e8SDoug Rabson 	int /*type*/,
78c19800e8SDoug Rabson 	...);
79c19800e8SDoug Rabson 
80c19800e8SDoug Rabson krb5_config_section *
81c19800e8SDoug Rabson _krb5_config_get_entry (
82c19800e8SDoug Rabson 	krb5_config_section **/*parent*/,
83c19800e8SDoug Rabson 	const char */*name*/,
84c19800e8SDoug Rabson 	int /*type*/);
85c19800e8SDoug Rabson 
86c19800e8SDoug Rabson KRB5_LIB_FUNCTION const void * KRB5_LIB_CALL
87c19800e8SDoug Rabson _krb5_config_get_next (
88c19800e8SDoug Rabson 	krb5_context /*context*/,
89c19800e8SDoug Rabson 	const krb5_config_section */*c*/,
90c19800e8SDoug Rabson 	const krb5_config_binding **/*pointer*/,
91c19800e8SDoug Rabson 	int /*type*/,
92c19800e8SDoug Rabson 	...);
93c19800e8SDoug Rabson 
94c19800e8SDoug Rabson const void *
95c19800e8SDoug Rabson _krb5_config_vget (
96c19800e8SDoug Rabson 	krb5_context /*context*/,
97c19800e8SDoug Rabson 	const krb5_config_section */*c*/,
98c19800e8SDoug Rabson 	int /*type*/,
99c19800e8SDoug Rabson 	va_list /*args*/);
100c19800e8SDoug Rabson 
101c19800e8SDoug Rabson KRB5_LIB_FUNCTION const void * KRB5_LIB_CALL
102c19800e8SDoug Rabson _krb5_config_vget_next (
103c19800e8SDoug Rabson 	krb5_context /*context*/,
1048373020dSJacques Vidrine 	const krb5_config_section */*c*/,
1058373020dSJacques Vidrine 	const krb5_config_binding **/*pointer*/,
1068373020dSJacques Vidrine 	int /*type*/,
1078373020dSJacques Vidrine 	va_list /*args*/);
108b528cefcSMark Murray 
1091c43270aSJacques Vidrine KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
1101c43270aSJacques Vidrine _krb5_copy_send_to_kdc_func (
1111c43270aSJacques Vidrine 	krb5_context /*context*/,
1121c43270aSJacques Vidrine 	krb5_context /*to*/);
1131c43270aSJacques Vidrine 
1141c43270aSJacques Vidrine void
1151c43270aSJacques Vidrine _krb5_crc_init_table (void);
116c19800e8SDoug Rabson 
117c19800e8SDoug Rabson uint32_t
118c19800e8SDoug Rabson _krb5_crc_update (
119c19800e8SDoug Rabson 	const char */*p*/,
120c19800e8SDoug Rabson 	size_t /*len*/,
121c19800e8SDoug Rabson 	uint32_t /*res*/);
122c19800e8SDoug Rabson 
123c19800e8SDoug Rabson void KRB5_LIB_FUNCTION
124c19800e8SDoug Rabson _krb5_debug (
125c19800e8SDoug Rabson 	krb5_context /*context*/,
126c19800e8SDoug Rabson 	int /*level*/,
127c19800e8SDoug Rabson 	const char */*fmt*/,
128c19800e8SDoug Rabson 	...)
129c19800e8SDoug Rabson      __attribute__((format (printf, 3, 4)));
130c19800e8SDoug Rabson 
131c19800e8SDoug Rabson void
132c19800e8SDoug Rabson _krb5_debug_backtrace (krb5_context /*context*/);
133c19800e8SDoug Rabson 
134c19800e8SDoug Rabson krb5_error_code
135c19800e8SDoug Rabson _krb5_derive_key (
136c19800e8SDoug Rabson 	krb5_context /*context*/,
137c19800e8SDoug Rabson 	struct _krb5_encryption_type */*et*/,
138c19800e8SDoug Rabson 	struct _krb5_key_data */*key*/,
139c19800e8SDoug Rabson 	const void */*constant*/,
140c19800e8SDoug Rabson 	size_t /*len*/);
141c19800e8SDoug Rabson 
142c19800e8SDoug Rabson krb5_error_code
143c19800e8SDoug Rabson _krb5_des_checksum (
144c19800e8SDoug Rabson 	krb5_context /*context*/,
145c19800e8SDoug Rabson 	const EVP_MD */*evp_md*/,
146c19800e8SDoug Rabson 	struct _krb5_key_data */*key*/,
147c19800e8SDoug Rabson 	const void */*data*/,
148c19800e8SDoug Rabson 	size_t /*len*/,
149c19800e8SDoug Rabson 	Checksum */*cksum*/);
150c19800e8SDoug Rabson 
151c19800e8SDoug Rabson krb5_error_code
152c19800e8SDoug Rabson _krb5_des_verify (
153c19800e8SDoug Rabson 	krb5_context /*context*/,
154c19800e8SDoug Rabson 	const EVP_MD */*evp_md*/,
155c19800e8SDoug Rabson 	struct _krb5_key_data */*key*/,
156c19800e8SDoug Rabson 	const void */*data*/,
157c19800e8SDoug Rabson 	size_t /*len*/,
158c19800e8SDoug Rabson 	Checksum */*C*/);
159c19800e8SDoug Rabson 
160c19800e8SDoug Rabson krb5_error_code
161c19800e8SDoug Rabson _krb5_dh_group_ok (
162c19800e8SDoug Rabson 	krb5_context /*context*/,
163c19800e8SDoug Rabson 	unsigned long /*bits*/,
164c19800e8SDoug Rabson 	heim_integer */*p*/,
165c19800e8SDoug Rabson 	heim_integer */*g*/,
166c19800e8SDoug Rabson 	heim_integer */*q*/,
167c19800e8SDoug Rabson 	struct krb5_dh_moduli **/*moduli*/,
168c19800e8SDoug Rabson 	char **/*name*/);
169c19800e8SDoug Rabson 
170c19800e8SDoug Rabson krb5_error_code
171c19800e8SDoug Rabson _krb5_einval (
172c19800e8SDoug Rabson 	krb5_context /*context*/,
173c19800e8SDoug Rabson 	const char */*func*/,
174c19800e8SDoug Rabson 	unsigned long /*argn*/);
175c19800e8SDoug Rabson 
176c19800e8SDoug Rabson krb5_error_code
177c19800e8SDoug Rabson _krb5_erase_file (
178c19800e8SDoug Rabson 	krb5_context /*context*/,
179c19800e8SDoug Rabson 	const char */*filename*/);
180c19800e8SDoug Rabson 
181c19800e8SDoug Rabson void
182c19800e8SDoug Rabson _krb5_evp_cleanup (
183c19800e8SDoug Rabson 	krb5_context /*context*/,
184c19800e8SDoug Rabson 	struct _krb5_key_data */*kd*/);
185c19800e8SDoug Rabson 
186c19800e8SDoug Rabson krb5_error_code
187c19800e8SDoug Rabson _krb5_evp_encrypt (
188c19800e8SDoug Rabson 	krb5_context /*context*/,
189c19800e8SDoug Rabson 	struct _krb5_key_data */*key*/,
190c19800e8SDoug Rabson 	void */*data*/,
191c19800e8SDoug Rabson 	size_t /*len*/,
192c19800e8SDoug Rabson 	krb5_boolean /*encryptp*/,
193c19800e8SDoug Rabson 	int /*usage*/,
194c19800e8SDoug Rabson 	void */*ivec*/);
195c19800e8SDoug Rabson 
196c19800e8SDoug Rabson krb5_error_code
197c19800e8SDoug Rabson _krb5_evp_encrypt_cts (
198c19800e8SDoug Rabson 	krb5_context /*context*/,
199c19800e8SDoug Rabson 	struct _krb5_key_data */*key*/,
200c19800e8SDoug Rabson 	void */*data*/,
201c19800e8SDoug Rabson 	size_t /*len*/,
202c19800e8SDoug Rabson 	krb5_boolean /*encryptp*/,
203c19800e8SDoug Rabson 	int /*usage*/,
204c19800e8SDoug Rabson 	void */*ivec*/);
205c19800e8SDoug Rabson 
206c19800e8SDoug Rabson void
207c19800e8SDoug Rabson _krb5_evp_schedule (
208c19800e8SDoug Rabson 	krb5_context /*context*/,
209c19800e8SDoug Rabson 	struct _krb5_key_type */*kt*/,
210c19800e8SDoug Rabson 	struct _krb5_key_data */*kd*/);
211c19800e8SDoug Rabson 
212c19800e8SDoug Rabson krb5_error_code
213c19800e8SDoug Rabson _krb5_expand_default_cc_name (
214c19800e8SDoug Rabson 	krb5_context /*context*/,
215c19800e8SDoug Rabson 	const char */*str*/,
216c19800e8SDoug Rabson 	char **/*res*/);
217c19800e8SDoug Rabson 
218c19800e8SDoug Rabson KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
219c19800e8SDoug Rabson _krb5_expand_path_tokens (
220c19800e8SDoug Rabson 	krb5_context /*context*/,
221c19800e8SDoug Rabson 	const char */*path_in*/,
222c19800e8SDoug Rabson 	char **/*ppath_out*/);
223c19800e8SDoug Rabson 
224c19800e8SDoug Rabson int
225c19800e8SDoug Rabson _krb5_extract_ticket (
226c19800e8SDoug Rabson 	krb5_context /*context*/,
227c19800e8SDoug Rabson 	krb5_kdc_rep */*rep*/,
228c19800e8SDoug Rabson 	krb5_creds */*creds*/,
229c19800e8SDoug Rabson 	krb5_keyblock */*key*/,
230c19800e8SDoug Rabson 	krb5_const_pointer /*keyseed*/,
231c19800e8SDoug Rabson 	krb5_key_usage /*key_usage*/,
232c19800e8SDoug Rabson 	krb5_addresses */*addrs*/,
233c19800e8SDoug Rabson 	unsigned /*nonce*/,
234c19800e8SDoug Rabson 	unsigned /*flags*/,
235bbd80c28SJacques Vidrine 	krb5_decrypt_proc /*decrypt_proc*/,
236bbd80c28SJacques Vidrine 	krb5_const_pointer /*decryptarg*/);
237bbd80c28SJacques Vidrine 
238bbd80c28SJacques Vidrine struct _krb5_checksum_type *
239c19800e8SDoug Rabson _krb5_find_checksum (krb5_cksumtype /*type*/);
240c19800e8SDoug Rabson 
241c19800e8SDoug Rabson struct _krb5_encryption_type *
242c19800e8SDoug Rabson _krb5_find_enctype (krb5_enctype /*type*/);
243c19800e8SDoug Rabson 
244c19800e8SDoug Rabson void
245c19800e8SDoug Rabson _krb5_free_key_data (
246c19800e8SDoug Rabson 	krb5_context /*context*/,
247c19800e8SDoug Rabson 	struct _krb5_key_data */*key*/,
248c19800e8SDoug Rabson 	struct _krb5_encryption_type */*et*/);
249c19800e8SDoug Rabson 
250c19800e8SDoug Rabson void
251c19800e8SDoug Rabson _krb5_free_krbhst_info (krb5_krbhst_info */*hi*/);
252c19800e8SDoug Rabson 
253c19800e8SDoug Rabson void
254c19800e8SDoug Rabson _krb5_free_moduli (struct krb5_dh_moduli **/*moduli*/);
255c19800e8SDoug Rabson 
256c19800e8SDoug Rabson krb5_error_code
257c19800e8SDoug Rabson _krb5_get_cred_kdc_any (
258bbd80c28SJacques Vidrine 	krb5_context /*context*/,
259bbd80c28SJacques Vidrine 	krb5_kdc_flags /*flags*/,
260bbd80c28SJacques Vidrine 	krb5_ccache /*ccache*/,
261bbd80c28SJacques Vidrine 	krb5_creds */*in_creds*/,
262c19800e8SDoug Rabson 	krb5_principal /*impersonate_principal*/,
263c19800e8SDoug Rabson 	Ticket */*second_ticket*/,
264c19800e8SDoug Rabson 	krb5_creds **/*out_creds*/,
265c19800e8SDoug Rabson 	krb5_creds ***/*ret_tgts*/);
266c19800e8SDoug Rabson 
267c19800e8SDoug Rabson char *
268c19800e8SDoug Rabson _krb5_get_default_cc_name_from_registry (krb5_context /*context*/);
269c19800e8SDoug Rabson 
270c19800e8SDoug Rabson char *
271c19800e8SDoug Rabson _krb5_get_default_config_config_files_from_registry (void);
272c19800e8SDoug Rabson 
273c19800e8SDoug Rabson krb5_error_code
274c19800e8SDoug Rabson _krb5_get_default_principal_local (
275c19800e8SDoug Rabson 	krb5_context /*context*/,
276c19800e8SDoug Rabson 	krb5_principal */*princ*/);
277c19800e8SDoug Rabson 
278c19800e8SDoug Rabson KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
279c19800e8SDoug Rabson _krb5_get_host_realm_int (
2808373020dSJacques Vidrine 	krb5_context /*context*/,
2818373020dSJacques Vidrine 	const char */*host*/,
2828373020dSJacques Vidrine 	krb5_boolean /*use_dns*/,
2838373020dSJacques Vidrine 	krb5_realm **/*realms*/);
2848373020dSJacques Vidrine 
285b528cefcSMark Murray KRB5_LIB_FUNCTION void KRB5_LIB_CALL
286c19800e8SDoug Rabson _krb5_get_init_creds_opt_free_pkinit (krb5_get_init_creds_opt */*opt*/);
287c19800e8SDoug Rabson 
288c19800e8SDoug Rabson KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL
289c19800e8SDoug Rabson _krb5_get_int (
290c19800e8SDoug Rabson 	void */*buffer*/,
291c19800e8SDoug Rabson 	unsigned long */*value*/,
292c19800e8SDoug Rabson 	size_t /*size*/);
293c19800e8SDoug Rabson 
294c19800e8SDoug Rabson krb5_error_code
295c19800e8SDoug Rabson _krb5_get_krbtgt (
296c19800e8SDoug Rabson 	krb5_context /*context*/,
297c19800e8SDoug Rabson 	krb5_ccache /*id*/,
298c19800e8SDoug Rabson 	krb5_realm /*realm*/,
299c19800e8SDoug Rabson 	krb5_creds **/*cred*/);
300c19800e8SDoug Rabson 
301c19800e8SDoug Rabson krb5_boolean KRB5_LIB_FUNCTION
302c19800e8SDoug Rabson _krb5_have_debug (
303c19800e8SDoug Rabson 	krb5_context /*context*/,
304c19800e8SDoug Rabson 	int /*level*/);
305c19800e8SDoug Rabson 
306c19800e8SDoug Rabson krb5_boolean
307c19800e8SDoug Rabson _krb5_homedir_access (krb5_context /*context*/);
308c19800e8SDoug Rabson 
309c19800e8SDoug Rabson KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
310c19800e8SDoug Rabson _krb5_init_etype (
311c19800e8SDoug Rabson 	krb5_context /*context*/,
312c19800e8SDoug Rabson 	krb5_pdu /*pdu_type*/,
313c19800e8SDoug Rabson 	unsigned */*len*/,
314c19800e8SDoug Rabson 	krb5_enctype **/*val*/,
315c19800e8SDoug Rabson 	const krb5_enctype */*etypes*/);
316c19800e8SDoug Rabson 
317c19800e8SDoug Rabson krb5_error_code
318c19800e8SDoug Rabson _krb5_internal_hmac (
319c19800e8SDoug Rabson 	krb5_context /*context*/,
320c19800e8SDoug Rabson 	struct _krb5_checksum_type */*cm*/,
321c19800e8SDoug Rabson 	const void */*data*/,
322c19800e8SDoug Rabson 	size_t /*len*/,
323c19800e8SDoug Rabson 	unsigned /*usage*/,
324c19800e8SDoug Rabson 	struct _krb5_key_data */*keyblock*/,
325c19800e8SDoug Rabson 	Checksum */*result*/);
326c19800e8SDoug Rabson 
327c19800e8SDoug Rabson KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
328c19800e8SDoug Rabson _krb5_kcm_get_initial_ticket (
329c19800e8SDoug Rabson 	krb5_context /*context*/,
330c19800e8SDoug Rabson 	krb5_ccache /*id*/,
331c19800e8SDoug Rabson 	krb5_principal /*server*/,
332c19800e8SDoug Rabson 	krb5_keyblock */*key*/);
333c19800e8SDoug Rabson 
334c19800e8SDoug Rabson KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
335c19800e8SDoug Rabson _krb5_kcm_get_ticket (
336c19800e8SDoug Rabson 	krb5_context /*context*/,
337c19800e8SDoug Rabson 	krb5_ccache /*id*/,
338c19800e8SDoug Rabson 	krb5_kdc_flags /*flags*/,
339c19800e8SDoug Rabson 	krb5_enctype /*enctype*/,
340c19800e8SDoug Rabson 	krb5_principal /*server*/);
341c19800e8SDoug Rabson 
342c19800e8SDoug Rabson KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
343c19800e8SDoug Rabson _krb5_kcm_is_running (krb5_context /*context*/);
344c19800e8SDoug Rabson 
345c19800e8SDoug Rabson KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
346c19800e8SDoug Rabson _krb5_kcm_noop (
347c19800e8SDoug Rabson 	krb5_context /*context*/,
348c19800e8SDoug Rabson 	krb5_ccache /*id*/);
349c19800e8SDoug Rabson 
350c19800e8SDoug Rabson krb5_error_code KRB5_CALLCONV
351c19800e8SDoug Rabson _krb5_kdc_retry (
352c19800e8SDoug Rabson 	krb5_context /*context*/,
353c19800e8SDoug Rabson 	krb5_sendto_ctx /*ctx*/,
354c19800e8SDoug Rabson 	void */*data*/,
355c19800e8SDoug Rabson 	const krb5_data */*reply*/,
356c19800e8SDoug Rabson 	int */*action*/);
357c19800e8SDoug Rabson 
358c19800e8SDoug Rabson krb5_error_code
359c19800e8SDoug Rabson _krb5_krbhost_info_move (
360c19800e8SDoug Rabson 	krb5_context /*context*/,
361c19800e8SDoug Rabson 	krb5_krbhst_info */*from*/,
362c19800e8SDoug Rabson 	krb5_krbhst_info **/*to*/);
363c19800e8SDoug Rabson 
364c19800e8SDoug Rabson const char *
365c19800e8SDoug Rabson _krb5_krbhst_get_realm (krb5_krbhst_handle /*handle*/);
366c19800e8SDoug Rabson 
367c19800e8SDoug Rabson krb5_error_code
368c19800e8SDoug Rabson _krb5_kt_principal_not_found (
369c19800e8SDoug Rabson 	krb5_context /*context*/,
370c19800e8SDoug Rabson 	krb5_error_code /*ret*/,
371c19800e8SDoug Rabson 	krb5_keytab /*id*/,
372c19800e8SDoug Rabson 	krb5_const_principal /*principal*/,
373c19800e8SDoug Rabson 	krb5_enctype /*enctype*/,
374c19800e8SDoug Rabson 	int /*kvno*/);
375c19800e8SDoug Rabson 
376c19800e8SDoug Rabson krb5_error_code
377c19800e8SDoug Rabson _krb5_load_ccache_plugins (krb5_context /*context*/);
378c19800e8SDoug Rabson 
379c19800e8SDoug Rabson void
380c19800e8SDoug Rabson _krb5_load_plugins (
381c19800e8SDoug Rabson 	krb5_context /*context*/,
382c19800e8SDoug Rabson 	const char */*name*/,
383c19800e8SDoug Rabson 	const char **/*paths*/);
384c19800e8SDoug Rabson 
385c19800e8SDoug Rabson krb5_error_code
386c19800e8SDoug Rabson _krb5_mk_req_internal (
387c19800e8SDoug Rabson 	krb5_context /*context*/,
388c19800e8SDoug Rabson 	krb5_auth_context */*auth_context*/,
389c19800e8SDoug Rabson 	const krb5_flags /*ap_req_options*/,
390c19800e8SDoug Rabson 	krb5_data */*in_data*/,
391c19800e8SDoug Rabson 	krb5_creds */*in_creds*/,
392c19800e8SDoug Rabson 	krb5_data */*outbuf*/,
393c19800e8SDoug Rabson 	krb5_key_usage /*checksum_usage*/,
394c19800e8SDoug Rabson 	krb5_key_usage /*encrypt_usage*/);
395c19800e8SDoug Rabson 
396c19800e8SDoug Rabson KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
397c19800e8SDoug Rabson _krb5_n_fold (
398c19800e8SDoug Rabson 	const void */*str*/,
399c19800e8SDoug Rabson 	size_t /*len*/,
400c19800e8SDoug Rabson 	void */*key*/,
401c19800e8SDoug Rabson 	size_t /*size*/);
402c19800e8SDoug Rabson 
403c19800e8SDoug Rabson krb5_error_code
404c19800e8SDoug Rabson _krb5_pac_sign (
405c19800e8SDoug Rabson 	krb5_context /*context*/,
406c19800e8SDoug Rabson 	krb5_pac /*p*/,
407c19800e8SDoug Rabson 	time_t /*authtime*/,
408c19800e8SDoug Rabson 	krb5_principal /*principal*/,
409c19800e8SDoug Rabson 	const krb5_keyblock */*server_key*/,
410c19800e8SDoug Rabson 	const krb5_keyblock */*priv_key*/,
411c19800e8SDoug Rabson 	krb5_data */*data*/);
4128373020dSJacques Vidrine 
4138373020dSJacques Vidrine krb5_error_code
4148373020dSJacques Vidrine _krb5_parse_moduli (
4158373020dSJacques Vidrine 	krb5_context /*context*/,
416b528cefcSMark Murray 	const char */*file*/,
417c19800e8SDoug Rabson 	struct krb5_dh_moduli ***/*moduli*/);
418c19800e8SDoug Rabson 
419c19800e8SDoug Rabson krb5_error_code
420c19800e8SDoug Rabson _krb5_parse_moduli_line (
4211c43270aSJacques Vidrine 	krb5_context /*context*/,
422c19800e8SDoug Rabson 	const char */*file*/,
423c19800e8SDoug Rabson 	int /*lineno*/,
424c19800e8SDoug Rabson 	char */*p*/,
425c19800e8SDoug Rabson 	struct krb5_dh_moduli **/*m*/);
426c19800e8SDoug Rabson 
4271c43270aSJacques Vidrine KRB5_LIB_FUNCTION void KRB5_LIB_CALL
428c19800e8SDoug Rabson _krb5_pk_cert_free (struct krb5_pk_cert */*cert*/);
429c19800e8SDoug Rabson 
430c19800e8SDoug Rabson krb5_error_code
431c19800e8SDoug Rabson _krb5_pk_kdf (
432c19800e8SDoug Rabson 	krb5_context /*context*/,
433c19800e8SDoug Rabson 	const struct AlgorithmIdentifier */*ai*/,
4341c43270aSJacques Vidrine 	const void */*dhdata*/,
4351c43270aSJacques Vidrine 	size_t /*dhsize*/,
4361c43270aSJacques Vidrine 	krb5_const_principal /*client*/,
4371c43270aSJacques Vidrine 	krb5_const_principal /*server*/,
4381c43270aSJacques Vidrine 	krb5_enctype /*enctype*/,
4391c43270aSJacques Vidrine 	const krb5_data */*as_req*/,
4401c43270aSJacques Vidrine 	const krb5_data */*pk_as_rep*/,
4411c43270aSJacques Vidrine 	const Ticket */*ticket*/,
4421c43270aSJacques Vidrine 	krb5_keyblock */*key*/);
443c19800e8SDoug Rabson 
444c19800e8SDoug Rabson KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
445c19800e8SDoug Rabson _krb5_pk_load_id (
4461c43270aSJacques Vidrine 	krb5_context /*context*/,
447b528cefcSMark Murray 	struct krb5_pk_identity **/*ret_id*/,
448 	const char */*user_id*/,
449 	const char */*anchor_id*/,
450 	char * const */*chain_list*/,
451 	char * const */*revoke_list*/,
452 	krb5_prompter_fct /*prompter*/,
453 	void */*prompter_data*/,
454 	char */*password*/);
455 
456 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
457 _krb5_pk_mk_ContentInfo (
458 	krb5_context /*context*/,
459 	const krb5_data */*buf*/,
460 	const heim_oid */*oid*/,
461 	struct ContentInfo */*content_info*/);
462 
463 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
464 _krb5_pk_mk_padata (
465 	krb5_context /*context*/,
466 	void */*c*/,
467 	int /*ic_flags*/,
468 	int /*win2k*/,
469 	const KDC_REQ_BODY */*req_body*/,
470 	unsigned /*nonce*/,
471 	METHOD_DATA */*md*/);
472 
473 krb5_error_code
474 _krb5_pk_octetstring2key (
475 	krb5_context /*context*/,
476 	krb5_enctype /*type*/,
477 	const void */*dhdata*/,
478 	size_t /*dhsize*/,
479 	const heim_octet_string */*c_n*/,
480 	const heim_octet_string */*k_n*/,
481 	krb5_keyblock */*key*/);
482 
483 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
484 _krb5_pk_rd_pa_reply (
485 	krb5_context /*context*/,
486 	const char */*realm*/,
487 	void */*c*/,
488 	krb5_enctype /*etype*/,
489 	const krb5_krbhst_info */*hi*/,
490 	unsigned /*nonce*/,
491 	const krb5_data */*req_buffer*/,
492 	PA_DATA */*pa*/,
493 	krb5_keyblock **/*key*/);
494 
495 krb5_error_code
496 _krb5_plugin_find (
497 	krb5_context /*context*/,
498 	enum krb5_plugin_type /*type*/,
499 	const char */*name*/,
500 	struct krb5_plugin **/*list*/);
501 
502 void
503 _krb5_plugin_free (struct krb5_plugin */*list*/);
504 
505 struct krb5_plugin *
506 _krb5_plugin_get_next (struct krb5_plugin */*p*/);
507 
508 void *
509 _krb5_plugin_get_symbol (struct krb5_plugin */*p*/);
510 
511 krb5_error_code
512 _krb5_plugin_run_f (
513 	krb5_context /*context*/,
514 	const char */*module*/,
515 	const char */*name*/,
516 	int /*min_version*/,
517 	int /*flags*/,
518 	void */*userctx*/,
519 	krb5_error_code (*/*func*/)(krb5_context, const void *, void *, void *));
520 
521 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
522 _krb5_principal2principalname (
523 	PrincipalName */*p*/,
524 	const krb5_principal /*from*/);
525 
526 KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
527 _krb5_principal_compare_PrincipalName (
528 	krb5_context /*context*/,
529 	krb5_const_principal /*princ1*/,
530 	PrincipalName */*princ2*/);
531 
532 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
533 _krb5_principalname2krb5_principal (
534 	krb5_context /*context*/,
535 	krb5_principal */*principal*/,
536 	const PrincipalName /*from*/,
537 	const Realm /*realm*/);
538 
539 KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL
540 _krb5_put_int (
541 	void */*buffer*/,
542 	unsigned long /*value*/,
543 	size_t /*size*/);
544 
545 KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
546 _krb5_s4u2self_to_checksumdata (
547 	krb5_context /*context*/,
548 	const PA_S4U2Self */*self*/,
549 	krb5_data */*data*/);
550 
551 int
552 _krb5_send_and_recv_tcp (
553 	krb5_socket_t /*fd*/,
554 	time_t /*tmout*/,
555 	const krb5_data */*req*/,
556 	krb5_data */*rep*/);
557 
558 int
559 _krb5_set_default_cc_name_to_registry (
560 	krb5_context /*context*/,
561 	krb5_ccache /*id*/);
562 
563 void
564 _krb5_unload_plugins (
565 	krb5_context /*context*/,
566 	const char */*name*/);
567 
568 krb5_error_code
569 _krb5_usage2arcfour (
570 	krb5_context /*context*/,
571 	unsigned */*usage*/);
572 
573 int
574 _krb5_xlock (
575 	krb5_context /*context*/,
576 	int /*fd*/,
577 	krb5_boolean /*exclusive*/,
578 	const char */*filename*/);
579 
580 void
581 _krb5_xor (
582 	DES_cblock */*key*/,
583 	const unsigned char */*b*/);
584 
585 int
586 _krb5_xunlock (
587 	krb5_context /*context*/,
588 	int /*fd*/);
589 
590 #undef KRB5_DEPRECATED_FUNCTION
591 #define KRB5_DEPRECATED_FUNCTION(X)
592 
593 #endif /* __krb5_private_h__ */
594