• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /macosx-10.9.5/passwordserver_sasl-170/cyrus_sasl/mac/CommonKClient/mac_kclient3/Headers/GSS/
1/*
2 * Copyright 1993 by OpenVision Technologies, Inc.
3 *
4 * Permission to use, copy, modify, distribute, and sell this software
5 * and its documentation for any purpose is hereby granted without fee,
6 * provided that the above copyright notice appears in all copies and
7 * that both that copyright notice and this permission notice appear in
8 * supporting documentation, and that the name of OpenVision not be used
9 * in advertising or publicity pertaining to distribution of the software
10 * without specific, written prior permission. OpenVision makes no
11 * representations about the suitability of this software for any
12 * purpose.  It is provided "as is" without express or implied warranty.
13 *
14 * OPENVISION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16 * EVENT SHALL OPENVISION BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
18 * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
19 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20 * PERFORMANCE OF THIS SOFTWARE.
21 */
22
23#ifndef _GSSAPI_KRB5_H_
24#define _GSSAPI_KRB5_H_
25
26#if defined(macintosh) || (defined(__MACH__) && defined(__APPLE__))
27	#include <KerberosSupport/KerberosSupport.h>
28#endif
29
30#if TARGET_OS_MAC
31#include <Kerberos5/Kerberos5.h>
32#else
33#include <krb5.h>
34#endif
35
36/* C++ friendlyness */
37#ifdef __cplusplus
38extern "C" {
39#endif /* __cplusplus */
40
41/* Reserved static storage for GSS_oids.  See rfc 1964 for more details. */
42
43/* 2.1.1. Kerberos Principal Name Form: */
44GSS_DLLIMP extern const gss_OID_desc * const GSS_KRB5_NT_PRINCIPAL_NAME;
45/* This name form shall be represented by the Object Identifier {iso(1)
46 * member-body(2) United States(840) mit(113554) infosys(1) gssapi(2)
47 * krb5(2) krb5_name(1)}.  The recommended symbolic name for this type
48 * is "GSS_KRB5_NT_PRINCIPAL_NAME". */
49
50/* 2.1.2. Host-Based Service Name Form */
51#define GSS_KRB5_NT_HOSTBASED_SERVICE_NAME GSS_C_NT_HOSTBASED_SERVICE
52/* This name form shall be represented by the Object Identifier {iso(1)
53 * member-body(2) United States(840) mit(113554) infosys(1) gssapi(2)
54 * generic(1) service_name(4)}.  The previously recommended symbolic
55 * name for this type is "GSS_KRB5_NT_HOSTBASED_SERVICE_NAME".  The
56 * currently preferred symbolic name for this type is
57 * "GSS_C_NT_HOSTBASED_SERVICE". */
58
59/* 2.2.1. User Name Form */
60#define GSS_KRB5_NT_USER_NAME GSS_C_NT_USER_NAME
61/* This name form shall be represented by the Object Identifier {iso(1)
62 * member-body(2) United States(840) mit(113554) infosys(1) gssapi(2)
63 * generic(1) user_name(1)}.  The recommended symbolic name for this
64 * type is "GSS_KRB5_NT_USER_NAME". */
65
66/* 2.2.2. Machine UID Form */
67#define GSS_KRB5_NT_MACHINE_UID_NAME GSS_C_NT_MACHINE_UID_NAME
68/* This name form shall be represented by the Object Identifier {iso(1)
69 * member-body(2) United States(840) mit(113554) infosys(1) gssapi(2)
70 * generic(1) machine_uid_name(2)}.  The recommended symbolic name for
71 * this type is "GSS_KRB5_NT_MACHINE_UID_NAME". */
72
73/* 2.2.3. String UID Form */
74#define GSS_KRB5_NT_STRING_UID_NAME GSS_C_NT_STRING_UID_NAME
75/* This name form shall be represented by the Object Identifier {iso(1)
76 * member-body(2) United States(840) mit(113554) infosys(1) gssapi(2)
77 * generic(1) string_uid_name(3)}.  The recommended symbolic name for
78 * this type is "GSS_KRB5_NT_STRING_UID_NAME". */
79
80extern const gss_OID_desc * const gss_mech_krb5;
81extern const gss_OID_desc * const gss_mech_krb5_old;
82extern const gss_OID_desc * const gss_mech_krb5_v2;
83extern const gss_OID_set_desc * const gss_mech_set_krb5;
84extern const gss_OID_set_desc * const gss_mech_set_krb5_old;
85extern const gss_OID_set_desc * const gss_mech_set_krb5_both;
86extern const gss_OID_set_desc * const gss_mech_set_krb5_v2;
87extern const gss_OID_set_desc * const gss_mech_set_krb5_v1v2;
88
89extern const gss_OID_desc * const gss_nt_krb5_name;
90extern const gss_OID_desc * const gss_nt_krb5_principal;
91
92extern const gss_OID_desc krb5_gss_oid_array[];
93
94#define gss_krb5_nt_general_name	gss_nt_krb5_name
95#define gss_krb5_nt_principal		gss_nt_krb5_principal
96#define gss_krb5_nt_service_name	gss_nt_service_name
97#define gss_krb5_nt_user_name		gss_nt_user_name
98#define gss_krb5_nt_machine_uid_name	gss_nt_machine_uid_name
99#define gss_krb5_nt_string_uid_name	gss_nt_string_uid_name
100
101GSS_DLLIMP OM_uint32 KRB5_CALLCONV gss_krb5_get_tkt_flags
102	PROTOTYPE((OM_uint32 *minor_status,
103		   gss_ctx_id_t context_handle,
104		   krb5_flags *ticket_flags));
105
106GSS_DLLIMP OM_uint32 KRB5_CALLCONV gss_krb5_copy_ccache
107	PROTOTYPE((OM_uint32 *minor_status,
108		   gss_cred_id_t cred_handle,
109		   krb5_ccache out_ccache));
110
111GSS_DLLIMP OM_uint32 KRB5_CALLCONV gss_krb5_ccache_name
112	PROTOTYPE((OM_uint32 *minor_status, const char *name,
113		   const char **out_name));
114
115#ifdef __cplusplus
116}
117#endif /* __cplusplus */
118
119#endif /* _GSSAPI_KRB5_H_ */
120