2 * declarations relevant to encapsulation-like operations
3 * Copyright (C) 1996, 1997 John Ioannidis.
4 * Copyright (C) 1998, 1999, 2000, 2001 Richard Guy Briggs.
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 * RCSID $Id: ipsec_encap.h,v 1.16 2001/11/26 09:23:47 rgb Exp $
19 #ifndef _IPSEC_ENCAP_H_
21 #define SENT_IP4 0x0008 /* data is two struct in_addr */
22 /* (2 * sizeof(struct in_addr)) */
23 /* sizeof(struct sockaddr_encap)
24 - offsetof(struct sockaddr_encap, Sen.Sip4.Src) */
26 #define SEN_HDRLEN (2*sizeof(__u8)+sizeof(__u16))
27 /* offsetof(struct sockaddr_encap, Sen.Sip4.Src) */
29 #define SEN_IP4_SRCOFF (0)
30 #define SEN_IP4_DSTOFF (sizeof (struct in_addr))
31 /* offsetof(struct sockaddr_encap, Sen.Sip4.Dst)
32 - offsetof(struct sockaddr_encap, Sen.Sip4.Src) */
33 #define SEN_IP4_OPTOFF (2 * sizeof (struct in_addr))
34 /* sizeof(struct sockaddr_encap)
35 - offsetof(struct sockaddr_encap, Sen.Sip4.Src) */
37 #define SEN_IP4_LEN (SENT_HDRLEN + SENT_IP4_OPTOFF)
38 /* sizeof(struct sockaddr_encap) */
40 #ifdef CONFIG_IPSEC_DEBUG
41 #define DB_ER_PROCFS 0x0001
42 #define DB_SP_PROCFS 0x0001
43 #endif /* CONFIG_IPSEC_DEBUG */
47 __u8 sen_len; /* length */
48 __u8 sen_family; /* AF_ENCAP */
49 __u16 sen_type; /* see SENT_* */
60 #define sen_ip_src Sen.Sip4.Src
61 #define sen_ip_dst Sen.Sip4.Dst
67 #define _IPSEC_ENCAP_H_
68 #endif /* _IPSEC_ENCAP_H_ */
71 * $Log: ipsec_encap.h,v $
72 * Revision 1.16 2001/11/26 09:23:47 rgb
73 * Merge MCR's ipsec_sa, eroute, proc and struct lifetime changes.
75 * Revision 1.15.2.1 2001/09/25 02:18:54 mcr
76 * struct eroute moved to ipsec_eroute.h
78 * Revision 1.15 2001/09/14 16:58:36 rgb
79 * Added support for storing the first and last packets through a HOLD.
81 * Revision 1.14 2001/09/08 21:13:31 rgb
82 * Added pfkey ident extension support for ISAKMPd. (NetCelo)
84 * Revision 1.13 2001/06/14 19:35:08 rgb
85 * Update copyright date.
87 * Revision 1.12 2001/05/27 06:12:10 rgb
88 * Added structures for pid, packet count and last access time to eroute.
89 * Added packet count to beginning of /proc/net/ipsec_eroute.
91 * Revision 1.11 2000/09/08 19:12:56 rgb
92 * Change references from DEBUG_IPSEC to CONFIG_IPSEC_DEBUG.
94 * Revision 1.10 2000/03/22 16:15:36 rgb
95 * Fixed renaming of dev_get (MB).
97 * Revision 1.9 2000/01/21 06:13:26 rgb
98 * Added a macro for AF_ENCAP
100 * Revision 1.8 1999/12/31 14:56:55 rgb
101 * MB fix for 2.3 dev-use-count.
103 * Revision 1.7 1999/11/18 04:09:18 rgb
104 * Replaced all kernel version macros to shorter, readable form.
106 * Revision 1.6 1999/09/24 00:34:13 rgb
107 * Add Marc Boucher's support for 2.3.xx+.
109 * Revision 1.5 1999/04/11 00:28:57 henry
112 * Revision 1.4 1999/04/06 04:54:25 rgb
113 * Fix/Add RCSID Id: and Log: bits to make PHMDs happy. This includes
116 * Revision 1.3 1998/10/19 14:44:28 rgb
117 * Added inclusion of freeswan.h.
118 * sa_id structure implemented and used: now includes protocol.
120 * Revision 1.2 1998/07/14 18:19:33 rgb
121 * Added #ifdef __KERNEL__ directives to restrict scope of header.
123 * Revision 1.1 1998/06/18 21:27:44 henry
124 * move sources from klips/src to klips/net/ipsec, to keep stupid
125 * kernel-build scripts happier in the presence of symlinks
127 * Revision 1.2 1998/04/21 21:29:10 rgb
128 * Rearrange debug switches to change on the fly debug output from user
129 * space. Only kernel changes checked in at this time. radij.c was also
130 * changed to temporarily remove buggy debugging code in rj_delete causing
131 * an OOPS and hence, netlink device open errors.
133 * Revision 1.1 1998/04/09 03:05:58 henry
134 * sources moved up from linux/net/ipsec
136 * Revision 1.1.1.1 1998/04/08 05:35:02 henry
137 * RGB's ipsec-0.8pre2.tar.gz ipsec-0.8
139 * Revision 0.4 1997/01/15 01:28:15 ji
140 * Minor cosmetic changes.
142 * Revision 0.3 1996/11/20 14:35:48 ji
144 * Rationalized debugging code.
146 * Revision 0.2 1996/11/02 00:18:33 ji
147 * First limited release.