Revert "Revert "and added files""
[bcm963xx.git] / userapps / opensource / ipsec-tools / src / racoon / vendorid.h
1 /* $Id: vendorid.h,v 1.9.2.1 2005/01/23 17:16:51 vanhu Exp $ */
2
3 /*
4  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
5  * All rights reserved.
6  * 
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  * 3. Neither the name of the project nor the names of its contributors
16  *    may be used to endorse or promote products derived from this software
17  *    without specific prior written permission.
18  * 
19  * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
20  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
23  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29  * SUCH DAMAGE.
30  */
31
32 #ifndef _VENDORID_H
33 #define _VENDORID_H
34
35 /* The unknown vendor ID. */
36 #define VENDORID_UNKNOWN        -1
37
38 /* Our default vendor ID. */
39 #define VENDORID_KAME           0
40
41 /*
42  * Refer to draft-ietf-ipsec-isakmp-gss-auth-06.txt.
43  */
44 #define VENDORID_GSSAPI_LONG    1
45 #define VENDORID_GSSAPI         2
46 #define VENDORID_MS_NT5         3
47 #define VENDOR_SUPPORTS_GSSAPI(x)                                       \
48         ((x) == VENDORID_GSSAPI_LONG ||                                 \
49          (x) == VENDORID_GSSAPI ||                                      \
50          (x) == VENDORID_MS_NT5)
51
52 /* NAT-T support */
53 #define VENDORID_NATT_00        4
54 #define VENDORID_NATT_01        5
55 #define VENDORID_NATT_02        6
56 #define VENDORID_NATT_02_N      7
57 #define VENDORID_NATT_03        8
58 #define VENDORID_NATT_04        9
59 #define VENDORID_NATT_05        10
60 #define VENDORID_NATT_06        11
61 #define VENDORID_NATT_07        12
62 #define VENDORID_NATT_08        13
63 #define VENDORID_NATT_RFC       14
64
65 #define VENDORID_NATT_FIRST     VENDORID_NATT_00
66 #define VENDORID_NATT_LAST      VENDORID_NATT_RFC
67
68
69 #define MAX_NATT_VID_COUNT      (VENDORID_NATT_LAST - VENDORID_NATT_FIRST + 1 )
70
71 /* Hybrid auth */
72 #define VENDORID_XAUTH          15
73 #define VENDORID_UNITY          16
74
75 /* IKE fragmentation */
76 #define VENDORID_FRAG           17
77
78 /* Dead Peer Detection */
79 #define VENDORID_DPD            18
80
81 struct vendor_id {
82         int             id;
83         const char      *string;
84         vchar_t         *hash;
85 };
86
87 vchar_t *set_vendorid __P((int));
88 int check_vendorid __P((struct isakmp_gen *));
89
90 void compute_vendorids __P((void));
91 const char *vid_string_by_id __P((int id));
92
93 #endif /* _VENDORID_H */