2 * @(#) Definitions relevant to the IPSEC <> radij tree interfacing
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_radij.h,v 1.17 2001/11/26 09:23:49 rgb Exp $
19 #ifndef _IPSEC_RADIJ_H
23 int ipsec_walk(char *);
25 int ipsec_rj_walker_procprint(struct radij_node *, void *);
26 int ipsec_rj_walker_delete(struct radij_node *, void *);
39 extern struct radij_node_head *rnh;
40 extern spinlock_t eroute_lock;
42 struct eroute * ipsec_findroute(struct sockaddr_encap *);
44 #define O1(x) (int)(((x)>>24)&0xff)
45 #define O2(x) (int)(((x)>>16)&0xff)
46 #define O3(x) (int)(((x)>>8)&0xff)
47 #define O4(x) (int)(((x))&0xff)
49 #ifdef CONFIG_IPSEC_DEBUG
50 extern int debug_radij;
51 void rj_dumptrees(void);
53 #define DB_RJ_DUMPTREES 0x0001
54 #define DB_RJ_FINDROUTE 0x0002
55 #endif /* CONFIG_IPSEC_DEBUG */
57 #define _IPSEC_RADIJ_H
61 * $Log: ipsec_radij.h,v $
62 * Revision 1.17 2001/11/26 09:23:49 rgb
63 * Merge MCR's ipsec_sa, eroute, proc and struct lifetime changes.
65 * Revision 1.16.2.1 2001/09/25 02:21:17 mcr
66 * ipsec_proto.h created to keep prototypes rather than deal with
67 * cyclic dependancies of structures and prototypes in .h files.
69 * Revision 1.16 2001/09/15 16:24:04 rgb
70 * Re-inject first and last HOLD packet when an eroute REPLACE is done.
72 * Revision 1.15 2001/09/14 16:58:37 rgb
73 * Added support for storing the first and last packets through a HOLD.
75 * Revision 1.14 2001/09/08 21:13:32 rgb
76 * Added pfkey ident extension support for ISAKMPd. (NetCelo)
78 * Revision 1.13 2001/06/14 19:35:09 rgb
79 * Update copyright date.
81 * Revision 1.12 2001/05/27 06:12:11 rgb
82 * Added structures for pid, packet count and last access time to eroute.
83 * Added packet count to beginning of /proc/net/ipsec_eroute.
85 * Revision 1.11 2000/09/08 19:12:56 rgb
86 * Change references from DEBUG_IPSEC to CONFIG_IPSEC_DEBUG.
88 * Revision 1.10 1999/11/17 15:53:39 rgb
89 * Changed all occurrences of #include "../../../lib/freeswan.h"
90 * to #include <freeswan.h> which works due to -Ilibfreeswan in the
91 * klips/net/ipsec/Makefile.
93 * Revision 1.9 1999/10/01 00:01:23 rgb
94 * Added eroute structure locking.
96 * Revision 1.8 1999/04/11 00:28:59 henry
99 * Revision 1.7 1999/04/06 04:54:26 rgb
100 * Fix/Add RCSID Id: and Log: bits to make PHMDs happy. This includes
103 * Revision 1.6 1999/01/22 06:23:26 rgb
106 * Revision 1.5 1998/10/25 02:42:08 rgb
107 * Change return type on ipsec_breakroute and ipsec_makeroute and add an
108 * argument to be able to transmit more infomation about errors.
110 * Revision 1.4 1998/10/19 14:44:29 rgb
111 * Added inclusion of freeswan.h.
112 * sa_id structure implemented and used: now includes protocol.
114 * Revision 1.3 1998/07/28 00:03:31 rgb
115 * Comment out temporary inet_nto4u() kluge.
117 * Revision 1.2 1998/07/14 18:22:00 rgb
118 * Add function to clear the eroute table.
120 * Revision 1.1 1998/06/18 21:27:49 henry
121 * move sources from klips/src to klips/net/ipsec, to keep stupid
122 * kernel-build scripts happier in the presence of symlinks
124 * Revision 1.5 1998/05/25 20:30:38 rgb
125 * Remove temporary ipsec_walk, rj_deltree and rj_delnodes functions.
127 * Rename ipsec_rj_walker (ipsec_walk) to ipsec_rj_walker_procprint and
128 * add ipsec_rj_walker_delete.
130 * Revision 1.4 1998/05/21 13:02:56 rgb
131 * Imported definitions from ipsec_radij.c and radij.c to support /proc 3k
134 * Revision 1.3 1998/04/21 21:29:09 rgb
135 * Rearrange debug switches to change on the fly debug output from user
136 * space. Only kernel changes checked in at this time. radij.c was also
137 * changed to temporarily remove buggy debugging code in rj_delete causing
138 * an OOPS and hence, netlink device open errors.
140 * Revision 1.2 1998/04/14 17:30:39 rgb
141 * Fix up compiling errors for radij tree memory reclamation.
143 * Revision 1.1 1998/04/09 03:06:10 henry
144 * sources moved up from linux/net/ipsec
146 * Revision 1.1.1.1 1998/04/08 05:35:04 henry
147 * RGB's ipsec-0.8pre2.tar.gz ipsec-0.8
149 * Revision 0.4 1997/01/15 01:28:15 ji
152 * Revision 0.3 1996/11/20 14:39:04 ji
154 * Rationalized debugging code.
156 * Revision 0.2 1996/11/02 00:18:33 ji
157 * First limited release.