1 /*
2  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
3  * Use is subject to license terms.
4  */
5 
6 /*
7  * Copyright 1993 by OpenVision Technologies, Inc.
8  *
9  * Permission to use, copy, modify, distribute, and sell this software
10  * and its documentation for any purpose is hereby granted without fee,
11  * provided that the above copyright notice appears in all copies and
12  * that both that copyright notice and this permission notice appear in
13  * supporting documentation, and that the name of OpenVision not be used
14  * in advertising or publicity pertaining to distribution of the software
15  * without specific, written prior permission. OpenVision makes no
16  * representations about the suitability of this software for any
17  * purpose.  It is provided "as is" without express or implied warranty.
18  *
19  * OPENVISION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
20  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
21  * EVENT SHALL OPENVISION BE LIABLE FOR ANY SPECIAL, INDIRECT OR
22  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
23  * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
24  * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
25  * PERFORMANCE OF THIS SOFTWARE.
26  */
27 
28 #ifndef _GSSAPI_KRB5_H_
29 #define _GSSAPI_KRB5_H_
30 
31 #pragma ident	"%Z%%M%	%I%	%E% SMI"
32 
33 #include <krb5.h>
34 #include <gssapi/gssapi.h>
35 #include <gssapi/gssapi_ext.h>
36 #include <gssapi_err_generic.h>
37 
38 /* C++ friendlyness */
39 #ifdef __cplusplus
40 extern "C" {
41 #endif /* __cplusplus */
42 
43 #if !defined(PROTOTYPE)
44 #define     PROTOTYPE(x) x
45 #endif
46 
47 extern const gss_OID_desc * const gss_mech_krb5;
48 extern const gss_OID_desc * const gss_mech_krb5_old;
49 extern const gss_OID_desc * const gss_mech_krb5_v2;
50 extern const gss_OID_set_desc * const gss_mech_set_krb5;
51 extern const gss_OID_set_desc * const gss_mech_set_krb5_old;
52 extern const gss_OID_set_desc * const gss_mech_set_krb5_both;
53 extern const gss_OID_set_desc * const gss_mech_set_krb5_v2;
54 extern const gss_OID_set_desc * const gss_mech_set_krb5_v1v2;
55 
56 extern const gss_OID_desc * const gss_nt_krb5_name;
57 extern const gss_OID_desc * const gss_nt_krb5_principal;
58 
59 /* Added name type definitions - declared in gen_oids.c */
60 extern gss_OID gss_nt_user_name;
61 extern gss_OID gss_nt_machine_uid_name;
62 extern gss_OID gss_nt_string_uid_name;
63 extern gss_OID gss_nt_service_name;
64 
65 extern const gss_OID_desc krb5_gss_oid_array[];
66 
67 #define gss_krb5_nt_general_name	gss_nt_krb5_name
68 #define gss_krb5_nt_principal		gss_nt_krb5_principal
69 #define gss_krb5_nt_service_name	gss_nt_service_name
70 #define gss_krb5_nt_user_name		gss_nt_user_name
71 #define gss_krb5_nt_machine_uid_name	gss_nt_machine_uid_name
72 #define gss_krb5_nt_string_uid_name	gss_nt_string_uid_name
73 
74 OM_uint32 KRB5_CALLCONV gss_krb5_get_tkt_flags
75 	(OM_uint32 *minor_status,
76 		   gss_ctx_id_t context_handle,
77 		   krb5_flags *ticket_flags);
78 
79 OM_uint32 KRB5_CALLCONV gss_krb5_copy_ccache
80 	(void *ctx, OM_uint32 *minor_status,
81 		   gss_cred_id_t cred_handle,
82 		   krb5_ccache out_ccache);
83 
84 OM_uint32 KRB5_CALLCONV gss_krb5_ccache_name
85 	(OM_uint32 *minor_status, const char *name,
86 		   const char **out_name);
87 
88 #ifdef __cplusplus
89 }
90 #endif /* __cplusplus */
91 
92 #endif /* _GSSAPI_KRB5_H_ */
93