and added files
[bcm963xx.git] / userapps / opensource / ipsec-tools / src / include-glibc / net / pfkeyv2.h
1 #ifndef __NET_PFKEYV2_H_
2 #define __NET_PFKEYV2_H_ 1
3
4 #include <stdint.h>
5 #include <linux/pfkeyv2.h>
6
7 /* Private allocations for authentication algorithms */
8 #define SADB_AALG_SHA2_256              SADB_X_AALG_SHA2_256HMAC
9 #define SADB_X_AALG_SHA2_256            SADB_X_AALG_SHA2_256HMAC
10 #define SADB_AALG_SHA2_384              SADB_X_AALG_SHA2_384HMAC
11 #define SADB_X_AALG_SHA2_384            SADB_X_AALG_SHA2_384HMAC
12 #define SADB_AALG_SHA2_512              SADB_X_AALG_SHA2_512HMAC
13 #define SADB_X_AALG_SHA2_512            SADB_X_AALG_SHA2_512HMAC
14 #define SADB_AALG_RIPEMD160HMAC         SADB_X_AALG_RIPEMD160HMAC
15 #define SADB_X_AALG_MD5              249
16 #define SADB_X_AALG_SHA              250
17
18 /* private allocations - based on RFC2407/IANA assignment */
19 #define SADB_X_EALG_CAST128CBC  5       /* SADB_X_EALG_CASTCBC? == 6 */
20 #define SADB_X_EALG_RIJNDAELCBC         SADB_X_EALG_AESCBC
21 #define SADB_X_EALG_AES                 SADB_X_EALG_AESCBC
22
23
24 #define SADB_X_CALG_NONE        0
25 #define SADB_X_CALG_OUI         1
26 #define SADB_X_CALG_DEFLATE     2
27 #define SADB_X_CALG_LZS         3
28 #define SADB_X_CALG_MAX         4
29
30
31 #define SADB_X_EXT_NONE         0x0000  /* i.e. new format. */
32 #define SADB_X_EXT_OLD          0x0001  /* old format. */
33
34 #define SADB_X_EXT_IV4B         0x0010  /* IV length of 4 bytes in use */
35 #define SADB_X_EXT_DERIV        0x0020  /* DES derived */
36 #define SADB_X_EXT_CYCSEQ       0x0040  /* allowing to cyclic sequence. */
37
38         /* three of followings are exclusive flags each them */
39 #define SADB_X_EXT_PSEQ         0x0000  /* sequencial padding for ESP */
40 #define SADB_X_EXT_PRAND        0x0100  /* random padding for ESP */
41 #define SADB_X_EXT_PZERO        0x0200  /* zero padding for ESP */
42 #define SADB_X_EXT_PMASK        0x0300  /* mask for padding flag */
43
44 #define SADB_X_EXT_RAWCPI       0x0080  /* use well known CPI (IPComp) */
45
46
47 #define PFKEY_SOFT_LIFETIME_RATE        80
48
49 #define SADB_X_LIFETIME_ALLOCATIONS     0
50 #define SADB_X_LIFETIME_BYTES           1
51 #define SADB_X_LIFETIME_ADDTIME         2
52 #define SADB_X_LIFETIME_USETIME         3
53
54
55 #define PFKEY_ALIGN8(a) (1 + (((a) - 1) | (8 - 1)))
56 #define PFKEY_EXTLEN(msg) \
57         PFKEY_UNUNIT64(((struct sadb_ext *)(msg))->sadb_ext_len)
58 #define PFKEY_ADDR_PREFIX(ext) \
59         (((struct sadb_address *)(ext))->sadb_address_prefixlen)
60 #define PFKEY_ADDR_PROTO(ext) \
61         (((struct sadb_address *)(ext))->sadb_address_proto)
62 #define PFKEY_ADDR_SADDR(ext) \
63         ((struct sockaddr *)((caddr_t)(ext) + sizeof(struct sadb_address)))
64
65 /* in 64bits */
66 #define PFKEY_UNUNIT64(a)       ((a) << 3)
67 #define PFKEY_UNIT64(a)         ((a) >> 3)
68
69 #endif