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