Merge error fix.
[dragonfly.git] / crypto / heimdal-0.6.3 / lib / gssapi / arcfour.h
blob88bdfb119f447b2d371245374e3d3756183f4dbe
1 /*
2 * Copyright (c) 2003 Kungliga Tekniska Högskolan
3 * (Royal Institute of Technology, Stockholm, Sweden).
4 * All rights reserved.
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
17 * 3. Neither the name of the Institute nor the names of its contributors
18 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission.
21 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
34 /* $Id: arcfour.h,v 1.3.2.2 2003/09/19 15:14:14 lha Exp $ */
36 #ifndef GSSAPI_ARCFOUR_H_
37 #define GSSAPI_ARCFOUR_H_ 1
40 * The arcfour message have the following formats, these are only here
41 * for reference and is not used.
44 #if 0
45 typedef struct gss_arcfour_mic_token {
46 u_char TOK_ID[2]; /* 01 01 */
47 u_char SGN_ALG[2]; /* 11 00 */
48 u_char Filler[4];
49 u_char SND_SEQ[8];
50 u_char SGN_CKSUM[8];
51 } gss_arcfour_mic_token_desc, *gss_arcfour_mic_token;
53 typedef struct gss_arcfour_wrap_token {
54 u_char TOK_ID[2]; /* 02 01 */
55 u_char SGN_ALG[2];
56 u_char SEAL_ALG[2];
57 u_char Filler[2];
58 u_char SND_SEQ[8];
59 u_char SGN_CKSUM[8];
60 u_char Confounder[8];
61 } gss_arcfour_wrap_token_desc, *gss_arcfour_wrap_token;
62 #endif
64 #define GSS_ARCFOUR_WRAP_TOKEN_SIZE 32
66 OM_uint32 _gssapi_wrap_arcfour(OM_uint32 *minor_status,
67 const gss_ctx_id_t context_handle,
68 int conf_req_flag,
69 gss_qop_t qop_req,
70 const gss_buffer_t input_message_buffer,
71 int *conf_state,
72 gss_buffer_t output_message_buffer,
73 krb5_keyblock *key);
75 OM_uint32 _gssapi_unwrap_arcfour(OM_uint32 *minor_status,
76 const gss_ctx_id_t context_handle,
77 const gss_buffer_t input_message_buffer,
78 gss_buffer_t output_message_buffer,
79 int *conf_state,
80 gss_qop_t *qop_state,
81 krb5_keyblock *key);
83 OM_uint32 _gssapi_get_mic_arcfour(OM_uint32 *minor_status,
84 const gss_ctx_id_t context_handle,
85 gss_qop_t qop_req,
86 const gss_buffer_t message_buffer,
87 gss_buffer_t message_token,
88 krb5_keyblock *key);
90 OM_uint32 _gssapi_verify_mic_arcfour(OM_uint32 *minor_status,
91 const gss_ctx_id_t context_handle,
92 const gss_buffer_t message_buffer,
93 const gss_buffer_t token_buffer,
94 gss_qop_t *qop_state,
95 krb5_keyblock *key,
96 char *type);
98 #endif /* GSSAPI_ARCFOUR_H_ */