1/* This is a generated file */
2#ifndef __gssapi_private_h__
3#define __gssapi_private_h__
4
5#include <stdarg.h>
6
7#ifndef HEIMDAL_PRINTF_ATTRIBUTE
8#if defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1 )))
9#define HEIMDAL_PRINTF_ATTRIBUTE(x) __attribute__((format x))
10#else
11#define HEIMDAL_PRINTF_ATTRIBUTE(x)
12#endif
13#endif
14
15struct gssapi_mech_interface_desc *
16__gss_get_mechanism (gss_const_OID mech);
17
18OM_uint32
19_gss_acquire_mech_cred (
20	OM_uint32 *minor_status,
21	struct gssapi_mech_interface_desc *m,
22	const struct _gss_mechanism_name *mn,
23	gss_const_OID credential_type,
24	const void *credential_data,
25	OM_uint32 time_req,
26	gss_const_OID desired_mech,
27	gss_cred_usage_t cred_usage,
28	struct _gss_mechanism_cred **output_cred_handle);
29
30OM_uint32
31_gss_copy_buffer (
32	OM_uint32 *minor_status,
33	const gss_buffer_t from_buf,
34	gss_buffer_t to_buf);
35
36struct _gss_mechanism_cred *
37_gss_copy_cred (struct _gss_mechanism_cred *mc);
38
39OM_uint32
40_gss_copy_oid (
41	OM_uint32 *minor_status,
42	gss_const_OID from_oid,
43	gss_OID to_oid);
44
45struct _gss_name *
46_gss_create_name (
47	gss_name_t new_mn,
48	struct gssapi_mech_interface_desc *m);
49
50gss_name_t
51_gss_cred_copy_name (
52	OM_uint32 *minor_status,
53	gss_cred_id_t credential,
54	gss_const_OID mech);
55
56OM_uint32
57_gss_find_mn (
58	OM_uint32 *minor_status,
59	struct _gss_name *name,
60	gss_const_OID mech,
61	struct _gss_mechanism_name **output_mn);
62
63OM_uint32
64_gss_free_oid (
65	OM_uint32 *minor_status,
66	gss_OID oid);
67
68void
69_gss_load_mech (void);
70
71void
72_gss_load_plugins (void);
73
74OM_uint32
75_gss_mech_import_name (
76	OM_uint32 * minor_status,
77	gss_const_OID mech,
78	struct _gss_name_type *names,
79	const gss_buffer_t input_name_buffer,
80	gss_const_OID input_name_type,
81	gss_name_t * output_name);
82
83OM_uint32
84_gss_mech_inquire_names_for_mech (
85	OM_uint32 * minor_status,
86	struct _gss_name_type *names,
87	gss_OID_set * name_types);
88
89struct _gss_cred *
90_gss_mg_alloc_cred (void);
91
92OM_uint32
93_gss_mg_allocate_buffer (
94	OM_uint32 *minor_status,
95	gss_iov_buffer_desc *buffer,
96	size_t size);
97
98void
99_gss_mg_check_credential (gss_cred_id_t credential);
100
101void
102_gss_mg_check_name (gss_name_t name);
103
104CFTypeRef
105_gss_mg_copy_key (
106	CFStringRef domain,
107	CFStringRef key);
108
109CFErrorRef
110_gss_mg_create_cferror (
111	OM_uint32 major_status,
112	OM_uint32 minor_status,
113	gss_const_OID mech);
114
115void
116_gss_mg_decode_be_uint32 (
117	const void *ptr,
118	uint32_t *n);
119
120void
121_gss_mg_decode_le_uint32 (
122	const void *ptr,
123	uint32_t *n);
124
125void
126_gss_mg_encode_be_uint32 (
127	uint32_t n,
128	uint8_t *p);
129
130void
131_gss_mg_encode_le_uint32 (
132	uint32_t n,
133	uint8_t *p);
134
135void
136_gss_mg_error (
137	struct gssapi_mech_interface_desc *m,
138	OM_uint32 min);
139
140gss_iov_buffer_desc *
141_gss_mg_find_buffer (
142	gss_iov_buffer_desc *iov,
143	int iov_count,
144	OM_uint32 type);
145
146OM_uint32
147_gss_mg_get_error (
148	const gss_OID mech,
149	OM_uint32 value,
150	gss_buffer_t string);
151
152void
153_gss_mg_log (
154	int level,
155	const char *fmt,
156	...)
157     HEIMDAL_PRINTF_ATTRIBUTE((printf, 2, 3));
158
159void
160_gss_mg_log_cred (
161	int level,
162	struct _gss_cred *cred,
163	const char *fmt,
164	...)
165     HEIMDAL_PRINTF_ATTRIBUTE((printf, 3, 4));
166
167int
168_gss_mg_log_level (int level);
169
170void
171_gss_mg_log_name (
172	int level,
173	struct _gss_name *name,
174	gss_OID mech_type,
175	const char *fmt,
176	...)
177     HEIMDAL_PRINTF_ATTRIBUTE((printf, 4, 5));
178
179void
180_gss_mg_release_cred (struct _gss_cred *cred);
181
182void
183_gss_mg_release_name (struct _gss_name *name);
184
185gss_OID
186_gss_mg_support_mechanism (gss_const_OID mech);
187
188int
189_gss_mo_get_ctx_as_string (
190	gss_const_OID mech,
191	struct gss_mo_desc *mo,
192	gss_buffer_t value);
193
194int
195_gss_mo_get_option_0 (
196	gss_const_OID mech,
197	struct gss_mo_desc *mo,
198	gss_buffer_t value);
199
200int
201_gss_mo_get_option_1 (
202	gss_const_OID mech,
203	struct gss_mo_desc *mo,
204	gss_buffer_t value);
205
206OM_uint32 GSSAPI_LIB_FUNCTION
207gss_acquire_cred_ex (
208	const gss_name_t desired_name,
209	OM_uint32 flags,
210	OM_uint32 time_req,
211	gss_const_OID desired_mech,
212	gss_cred_usage_t cred_usage,
213	gss_auth_identity_t identity,
214	gss_acquire_cred_complete complete);
215
216OM_uint32 GSSAPI_LIB_FUNCTION
217gss_acquire_cred_ex_f (
218	gss_status_id_t status,
219	gss_name_t desired_name,
220	OM_uint32 flags,
221	OM_uint32 time_req,
222	gss_const_OID desired_mech,
223	gss_cred_usage_t cred_usage,
224	gss_auth_identity_t identity,
225	void * userctx,
226	void (*usercomplete)(void *, OM_uint32, gss_status_id_t, gss_cred_id_t, gss_OID_set, OM_uint32));
227
228OM_uint32
229gss_acquire_cred_ext (
230	OM_uint32 *minor_status,
231	const gss_name_t desired_name,
232	gss_const_OID credential_type,
233	const void *credential_data,
234	OM_uint32 time_req,
235	gss_const_OID desired_mech,
236	gss_cred_usage_t cred_usage,
237	gss_cred_id_t *output_cred_handle);
238
239GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
240gss_add_cred_with_password (
241	OM_uint32 *minor_status,
242	const gss_cred_id_t input_cred_handle,
243	const gss_name_t desired_name,
244	const gss_OID desired_mech,
245	const gss_buffer_t password,
246	gss_cred_usage_t cred_usage,
247	OM_uint32 initiator_time_req,
248	OM_uint32 acceptor_time_req,
249	gss_cred_id_t *output_cred_handle,
250	gss_OID_set *actual_mechs,
251	OM_uint32 *initiator_time_rec,
252	OM_uint32 *acceptor_time_rec);
253
254GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
255gss_authorize_localname (
256	OM_uint32 *minor_status,
257	const gss_name_t gss_name,
258	const gss_name_t gss_user);
259
260GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
261gss_context_query_attributes (
262	OM_uint32 *minor_status,
263	const gss_ctx_id_t context_handle,
264	const gss_OID attribute,
265	void *data,
266	size_t len);
267
268OM_uint32
269gss_cred_hold (
270	OM_uint32 *min_stat,
271	gss_cred_id_t cred_handle);
272
273OM_uint32
274gss_cred_label_get (
275	OM_uint32 * min_stat,
276	gss_cred_id_t cred_handle,
277	const char * label,
278	gss_buffer_t value);
279
280OM_uint32
281gss_cred_label_set (
282	OM_uint32 * min_stat,
283	gss_cred_id_t cred_handle,
284	const char * label,
285	gss_buffer_t value);
286
287OM_uint32
288gss_cred_unhold (
289	OM_uint32 *min_stat,
290	gss_cred_id_t cred_handle);
291
292GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
293gss_delete_name_attribute (
294	OM_uint32 *minor_status,
295	gss_name_t input_name,
296	gss_buffer_t attr);
297
298GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
299gss_display_name_ext (
300	OM_uint32 *minor_status,
301	gss_name_t input_name,
302	gss_OID display_as_name_type,
303	gss_buffer_t display_name);
304
305GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
306gss_export_name_composite (
307	OM_uint32 *minor_status,
308	gss_name_t input_name,
309	gss_buffer_t exp_composite_name);
310
311GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
312gss_get_name_attribute (
313	OM_uint32 *minor_status,
314	gss_name_t input_name,
315	gss_buffer_t attr,
316	int *authenticated,
317	int *complete,
318	gss_buffer_t value,
319	gss_buffer_t display_value,
320	int *more);
321
322GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
323gss_krb5_get_tkt_flags (
324	OM_uint32 *minor_status,
325	gss_ctx_id_t context_handle,
326	OM_uint32 *tkt_flags);
327
328GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
329gss_krb5_import_cred (
330	OM_uint32 *minor_status,
331	struct krb5_ccache_data *id,
332	struct Principal *keytab_principal,
333	struct krb5_keytab_data *keytab,
334	gss_cred_id_t *cred);
335
336void
337gss_mg_collect_error (
338	gss_OID mech,
339	OM_uint32 maj,
340	OM_uint32 min);
341
342OM_uint32
343gss_mg_export_name (
344	OM_uint32 *minor_status,
345	const gss_const_OID mech,
346	const void *name,
347	size_t length,
348	gss_buffer_t exported_name);
349
350OM_uint32
351gss_mg_gen_cb (
352	OM_uint32 *minor_status,
353	const gss_channel_bindings_t b,
354	uint8_t p[16],
355	gss_buffer_t buffer);
356
357OM_uint32
358gss_mg_set_error_string (
359	gss_OID mech,
360	OM_uint32 maj,
361	OM_uint32 min,
362	const char *fmt,
363	...)
364     HEIMDAL_PRINTF_ATTRIBUTE((printf, 4, 5));
365
366OM_uint32
367gss_mg_validate_cb (
368	OM_uint32 *minor_status,
369	const gss_channel_bindings_t b,
370	const uint8_t p[16],
371	gss_buffer_t buffer);
372
373GSSAPI_LIB_FUNCTION int GSSAPI_LIB_CALL
374gss_mo_get (
375	gss_const_OID mech,
376	gss_const_OID option,
377	gss_buffer_t value);
378
379GSSAPI_LIB_FUNCTION void GSSAPI_LIB_CALL
380gss_mo_list (
381	gss_const_OID mech,
382	gss_OID_set *options);
383
384GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
385gss_mo_name (
386	gss_const_OID mech,
387	gss_const_OID option,
388	gss_buffer_t name);
389
390GSSAPI_LIB_FUNCTION int GSSAPI_LIB_CALL
391gss_mo_set (
392	gss_const_OID mech,
393	gss_const_OID option,
394	int enable,
395	gss_buffer_t value);
396
397GSSAPI_LIB_FUNCTION gss_const_OID GSSAPI_LIB_CALL
398gss_name_to_oid (const char *name);
399
400GSSAPI_LIB_FUNCTION const char * GSSAPI_LIB_CALL
401gss_oid_to_name (gss_const_OID oid);
402
403GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
404gss_pname_to_uid (
405	OM_uint32 *minor_status,
406	const gss_name_t pname,
407	const gss_OID mech_type,
408	uid_t *uidp);
409
410GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
411gss_release_iov_buffer (
412	OM_uint32 *minor_status,
413	gss_iov_buffer_desc *iov,
414	int iov_count);
415
416void
417gss_set_log_function (
418	void *ctx,
419	void (*func)(void *ctx, int level, const char *fmt, va_list));
420
421GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
422gss_set_name_attribute (
423	OM_uint32 *minor_status,
424	gss_name_t input_name,
425	int complete,
426	gss_buffer_t attr,
427	gss_buffer_t value);
428
429GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
430gss_store_cred (
431	OM_uint32 *minor_status,
432	gss_cred_id_t input_cred_handle,
433	gss_cred_usage_t cred_usage,
434	const gss_OID desired_mech,
435	OM_uint32 overwrite_cred,
436	OM_uint32 default_cred,
437	gss_OID_set *elements_stored,
438	gss_cred_usage_t *cred_usage_stored);
439
440GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
441gss_unwrap_iov (
442	OM_uint32 *minor_status,
443	gss_ctx_id_t context_handle,
444	int *conf_state,
445	gss_qop_t *qop_state,
446	gss_iov_buffer_desc *iov,
447	int iov_count);
448
449GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
450gss_wrap_iov (
451	OM_uint32 * minor_status,
452	gss_ctx_id_t context_handle,
453	int conf_req_flag,
454	gss_qop_t qop_req,
455	int * conf_state,
456	gss_iov_buffer_desc *iov,
457	int iov_count);
458
459GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
460gss_wrap_iov_length (
461	OM_uint32 * minor_status,
462	gss_ctx_id_t context_handle,
463	int conf_req_flag,
464	gss_qop_t qop_req,
465	int *conf_state,
466	gss_iov_buffer_desc *iov,
467	int iov_count);
468
469GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
470gsskrb5_extract_authtime_from_sec_context (
471	OM_uint32 *minor_status,
472	gss_ctx_id_t context_handle,
473	time_t *authtime);
474
475GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
476gsskrb5_extract_service_keyblock (
477	OM_uint32 *minor_status,
478	gss_ctx_id_t context_handle,
479	struct EncryptionKey **keyblock);
480
481GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
482gsskrb5_get_initiator_subkey (
483	OM_uint32 *minor_status,
484	gss_ctx_id_t context_handle,
485	struct EncryptionKey **keyblock);
486
487GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
488gsskrb5_get_subkey (
489	OM_uint32 *minor_status,
490	gss_ctx_id_t context_handle,
491	struct EncryptionKey **keyblock);
492
493GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
494gsskrb5_get_time_offset (int *offset);
495
496GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
497gsskrb5_plugin_register (struct gsskrb5_krb5_plugin *c);
498
499GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
500gsskrb5_set_default_realm (const char *realm);
501
502GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
503gsskrb5_set_dns_canonicalize (int flag);
504
505GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
506gsskrb5_set_send_to_kdc (struct gsskrb5_send_to_kdc *c);
507
508GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
509gsskrb5_set_time_offset (int offset);
510
511#endif /* __gssapi_private_h__ */
512