xref: /xnu-12377.41.6/bsd/netkey/key_var.h (revision bbb1b6f9e71b8cdde6e5cd6f4841f207dee3d828)
1*bbb1b6f9SApple OSS Distributions /*	$KAME: key_var.h,v 1.5 2000/02/22 14:06:41 itojun Exp $	*/
2*bbb1b6f9SApple OSS Distributions 
3*bbb1b6f9SApple OSS Distributions /*
4*bbb1b6f9SApple OSS Distributions  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
5*bbb1b6f9SApple OSS Distributions  * All rights reserved.
6*bbb1b6f9SApple OSS Distributions  *
7*bbb1b6f9SApple OSS Distributions  * Redistribution and use in source and binary forms, with or without
8*bbb1b6f9SApple OSS Distributions  * modification, are permitted provided that the following conditions
9*bbb1b6f9SApple OSS Distributions  * are met:
10*bbb1b6f9SApple OSS Distributions  * 1. Redistributions of source code must retain the above copyright
11*bbb1b6f9SApple OSS Distributions  *    notice, this list of conditions and the following disclaimer.
12*bbb1b6f9SApple OSS Distributions  * 2. Redistributions in binary form must reproduce the above copyright
13*bbb1b6f9SApple OSS Distributions  *    notice, this list of conditions and the following disclaimer in the
14*bbb1b6f9SApple OSS Distributions  *    documentation and/or other materials provided with the distribution.
15*bbb1b6f9SApple OSS Distributions  * 3. Neither the name of the project nor the names of its contributors
16*bbb1b6f9SApple OSS Distributions  *    may be used to endorse or promote products derived from this software
17*bbb1b6f9SApple OSS Distributions  *    without specific prior written permission.
18*bbb1b6f9SApple OSS Distributions  *
19*bbb1b6f9SApple OSS Distributions  * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
20*bbb1b6f9SApple OSS Distributions  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21*bbb1b6f9SApple OSS Distributions  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22*bbb1b6f9SApple OSS Distributions  * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
23*bbb1b6f9SApple OSS Distributions  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24*bbb1b6f9SApple OSS Distributions  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25*bbb1b6f9SApple OSS Distributions  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26*bbb1b6f9SApple OSS Distributions  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27*bbb1b6f9SApple OSS Distributions  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28*bbb1b6f9SApple OSS Distributions  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29*bbb1b6f9SApple OSS Distributions  * SUCH DAMAGE.
30*bbb1b6f9SApple OSS Distributions  */
31*bbb1b6f9SApple OSS Distributions 
32*bbb1b6f9SApple OSS Distributions #ifndef _NETKEY_KEY_VAR_H_
33*bbb1b6f9SApple OSS Distributions #define _NETKEY_KEY_VAR_H_
34*bbb1b6f9SApple OSS Distributions #include <sys/appleapiopts.h>
35*bbb1b6f9SApple OSS Distributions 
36*bbb1b6f9SApple OSS Distributions /* sysctl */
37*bbb1b6f9SApple OSS Distributions #define KEYCTL_DEBUG_LEVEL              1
38*bbb1b6f9SApple OSS Distributions #define KEYCTL_SPI_TRY                  2
39*bbb1b6f9SApple OSS Distributions #define KEYCTL_SPI_MIN_VALUE            3
40*bbb1b6f9SApple OSS Distributions #define KEYCTL_SPI_MAX_VALUE            4
41*bbb1b6f9SApple OSS Distributions #define KEYCTL_RANDOM_INT               5
42*bbb1b6f9SApple OSS Distributions #define KEYCTL_LARVAL_LIFETIME          6
43*bbb1b6f9SApple OSS Distributions #define KEYCTL_BLOCKACQ_COUNT           7
44*bbb1b6f9SApple OSS Distributions #define KEYCTL_BLOCKACQ_LIFETIME        8
45*bbb1b6f9SApple OSS Distributions #define KEYCTL_ESP_KEYMIN               9
46*bbb1b6f9SApple OSS Distributions #define KEYCTL_ESP_AUTH                 10
47*bbb1b6f9SApple OSS Distributions #define KEYCTL_AH_KEYMIN                11
48*bbb1b6f9SApple OSS Distributions #define KEYCTL_PREFERED_OLDSA           12
49*bbb1b6f9SApple OSS Distributions #define KEYCTL_NATT_KEEPALIVE_INTERVAL  13
50*bbb1b6f9SApple OSS Distributions #define KEYCTL_PFKEYSTAT                14
51*bbb1b6f9SApple OSS Distributions #define KEYCTL_MAXID                    15
52*bbb1b6f9SApple OSS Distributions 
53*bbb1b6f9SApple OSS Distributions #ifdef BSD_KERNEL_PRIVATE
54*bbb1b6f9SApple OSS Distributions #define KEYCTL_NAMES { \
55*bbb1b6f9SApple OSS Distributions 	{ 0, 0 }, \
56*bbb1b6f9SApple OSS Distributions 	{ "debug", CTLTYPE_INT }, \
57*bbb1b6f9SApple OSS Distributions 	{ "spi_try", CTLTYPE_INT }, \
58*bbb1b6f9SApple OSS Distributions 	{ "spi_min_value", CTLTYPE_INT }, \
59*bbb1b6f9SApple OSS Distributions 	{ "spi_max_value", CTLTYPE_INT }, \
60*bbb1b6f9SApple OSS Distributions 	{ "random_int", CTLTYPE_INT }, \
61*bbb1b6f9SApple OSS Distributions 	{ "larval_lifetime", CTLTYPE_INT }, \
62*bbb1b6f9SApple OSS Distributions 	{ "blockacq_count", CTLTYPE_INT }, \
63*bbb1b6f9SApple OSS Distributions 	{ "blockacq_lifetime", CTLTYPE_INT }, \
64*bbb1b6f9SApple OSS Distributions 	{ "esp_keymin", CTLTYPE_INT }, \
65*bbb1b6f9SApple OSS Distributions 	{ "esp_auth", CTLTYPE_INT }, \
66*bbb1b6f9SApple OSS Distributions 	{ "ah_keymin", CTLTYPE_INT }, \
67*bbb1b6f9SApple OSS Distributions 	{ "prefered_oldsa", CTLTYPE_INT }, \
68*bbb1b6f9SApple OSS Distributions 	{ "natt_keepalive_interval", CTLTYPE_INT }, \
69*bbb1b6f9SApple OSS Distributions 	{ "pfkeystat", CTLTYPE_STRUCT }, \
70*bbb1b6f9SApple OSS Distributions }
71*bbb1b6f9SApple OSS Distributions 
72*bbb1b6f9SApple OSS Distributions #define KEYCTL_VARS { \
73*bbb1b6f9SApple OSS Distributions 	0, \
74*bbb1b6f9SApple OSS Distributions 	&key_debug_level, \
75*bbb1b6f9SApple OSS Distributions 	&key_spi_trycnt, \
76*bbb1b6f9SApple OSS Distributions 	&key_spi_minval, \
77*bbb1b6f9SApple OSS Distributions 	&key_spi_maxval, \
78*bbb1b6f9SApple OSS Distributions 	&key_int_random, \
79*bbb1b6f9SApple OSS Distributions 	&key_larval_lifetime, \
80*bbb1b6f9SApple OSS Distributions 	&key_blockacq_count, \
81*bbb1b6f9SApple OSS Distributions 	&key_blockacq_lifetime, \
82*bbb1b6f9SApple OSS Distributions 	&ipsec_esp_keymin, \
83*bbb1b6f9SApple OSS Distributions 	&ipsec_ah_keymin, \
84*bbb1b6f9SApple OSS Distributions 	&ipsec_prefered_oldsa, \
85*bbb1b6f9SApple OSS Distributions 	&natt_keepalive_interval, \
86*bbb1b6f9SApple OSS Distributions }
87*bbb1b6f9SApple OSS Distributions 
88*bbb1b6f9SApple OSS Distributions #define _ARRAYLEN(p) (sizeof(p)/sizeof(p[0]))
89*bbb1b6f9SApple OSS Distributions #define _KEYLEN(key) ((u_int)((key)->sadb_key_bits >> 3))
90*bbb1b6f9SApple OSS Distributions #define _KEYBITS(key) ((u_int)((key)->sadb_key_bits))
91*bbb1b6f9SApple OSS Distributions #define _KEYBUF(key) ((caddr_t)((caddr_t)(key) + sizeof(struct sadb_key)))
92*bbb1b6f9SApple OSS Distributions 
93*bbb1b6f9SApple OSS Distributions #endif /* BSD_KERNEL_PRIVATE */
94*bbb1b6f9SApple OSS Distributions #endif /* _NETKEY_KEY_VAR_H_ */
95