1/*
2 * Copyright (C) 2006, 2007  Internet Systems Consortium, Inc. ("ISC")
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
9 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10 * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
11 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
13 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14 * PERFORMANCE OF THIS SOFTWARE.
15 */
16
17/* $Id: spnego.h,v 1.4 2007/06/19 23:47:16 tbox Exp $ */
18
19/*! \file
20 * \brief
21 * Entry points into portable SPNEGO implementation.
22 * See spnego.c for information on the SPNEGO implementation itself.
23 */
24
25#ifndef _SPNEGO_H_
26#define _SPNEGO_H_
27
28/*%
29 * Wrapper for GSSAPI gss_init_sec_context(), using portable SPNEGO
30 * implementation instead of the one that's part of the GSSAPI
31 * library.  Takes arguments identical to the standard GSSAPI
32 * function, uses standard gss_init_sec_context() to handle
33 * everything inside the SPNEGO wrapper.
34 */
35OM_uint32
36gss_init_sec_context_spnego(OM_uint32 *,
37			    const gss_cred_id_t,
38			    gss_ctx_id_t *,
39			    const gss_name_t,
40			    const gss_OID,
41			    OM_uint32,
42			    OM_uint32,
43			    const gss_channel_bindings_t,
44			    const gss_buffer_t,
45			    gss_OID *,
46			    gss_buffer_t,
47			    OM_uint32 *,
48			    OM_uint32 *);
49
50/*%
51 * Wrapper for GSSAPI gss_accept_sec_context(), using portable SPNEGO
52 * implementation instead of the one that's part of the GSSAPI
53 * library.  Takes arguments identical to the standard GSSAPI
54 * function.  Checks the OID of the input token to see if it's SPNEGO;
55 * if so, processes it, otherwise hands the call off to the standard
56 * gss_accept_sec_context() function.
57 */
58OM_uint32 gss_accept_sec_context_spnego(OM_uint32 *,
59					gss_ctx_id_t *,
60					const gss_cred_id_t,
61					const gss_buffer_t,
62					const gss_channel_bindings_t,
63					gss_name_t *,
64					gss_OID *,
65					gss_buffer_t,
66					OM_uint32 *,
67					OM_uint32 *,
68					gss_cred_id_t *);
69
70
71#endif
72