xref: /xnu-10063.121.3/bsd/netkey/key_var.h (revision 2c2f96dc2b9a4408a43d3150ae9c105355ca3daa)
1 /*	$KAME: key_var.h,v 1.5 2000/02/22 14:06:41 itojun 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 _NETKEY_KEY_VAR_H_
33 #define _NETKEY_KEY_VAR_H_
34 #include <sys/appleapiopts.h>
35 
36 /* sysctl */
37 #define KEYCTL_DEBUG_LEVEL              1
38 #define KEYCTL_SPI_TRY                  2
39 #define KEYCTL_SPI_MIN_VALUE            3
40 #define KEYCTL_SPI_MAX_VALUE            4
41 #define KEYCTL_RANDOM_INT               5
42 #define KEYCTL_LARVAL_LIFETIME          6
43 #define KEYCTL_BLOCKACQ_COUNT           7
44 #define KEYCTL_BLOCKACQ_LIFETIME        8
45 #define KEYCTL_ESP_KEYMIN               9
46 #define KEYCTL_ESP_AUTH                 10
47 #define KEYCTL_AH_KEYMIN                11
48 #define KEYCTL_PREFERED_OLDSA           12
49 #define KEYCTL_NATT_KEEPALIVE_INTERVAL  13
50 #define KEYCTL_PFKEYSTAT                14
51 #define KEYCTL_MAXID                    15
52 
53 #ifdef BSD_KERNEL_PRIVATE
54 #define KEYCTL_NAMES { \
55 	{ 0, 0 }, \
56 	{ "debug", CTLTYPE_INT }, \
57 	{ "spi_try", CTLTYPE_INT }, \
58 	{ "spi_min_value", CTLTYPE_INT }, \
59 	{ "spi_max_value", CTLTYPE_INT }, \
60 	{ "random_int", CTLTYPE_INT }, \
61 	{ "larval_lifetime", CTLTYPE_INT }, \
62 	{ "blockacq_count", CTLTYPE_INT }, \
63 	{ "blockacq_lifetime", CTLTYPE_INT }, \
64 	{ "esp_keymin", CTLTYPE_INT }, \
65 	{ "esp_auth", CTLTYPE_INT }, \
66 	{ "ah_keymin", CTLTYPE_INT }, \
67 	{ "prefered_oldsa", CTLTYPE_INT }, \
68 	{ "natt_keepalive_interval", CTLTYPE_INT }, \
69 	{ "pfkeystat", CTLTYPE_STRUCT }, \
70 }
71 
72 #define KEYCTL_VARS { \
73 	0, \
74 	&key_debug_level, \
75 	&key_spi_trycnt, \
76 	&key_spi_minval, \
77 	&key_spi_maxval, \
78 	&key_int_random, \
79 	&key_larval_lifetime, \
80 	&key_blockacq_count, \
81 	&key_blockacq_lifetime, \
82 	&ipsec_esp_keymin, \
83 	&ipsec_ah_keymin, \
84 	&ipsec_prefered_oldsa, \
85 	&natt_keepalive_interval, \
86 }
87 
88 #define _ARRAYLEN(p) (sizeof(p)/sizeof(p[0]))
89 #define _KEYLEN(key) ((u_int)((key)->sadb_key_bits >> 3))
90 #define _KEYBITS(key) ((u_int)((key)->sadb_key_bits))
91 #define _KEYBUF(key) ((caddr_t)((caddr_t)(key) + sizeof(struct sadb_key)))
92 
93 #endif /* BSD_KERNEL_PRIVATE */
94 #endif /* _NETKEY_KEY_VAR_H_ */
95