Deleted Added
full compact
ip_lookup.h (170263) ip_lookup.h (172771)
1
2#ifndef __IP_LOOKUP_H__
3#define __IP_LOOKUP_H__
4
5#if defined(__STDC__) || defined(__GNUC__) || defined(_AIX51)
6# define SIOCLOOKUPADDTABLE _IOWR('r', 60, struct iplookupop)
7# define SIOCLOOKUPDELTABLE _IOWR('r', 61, struct iplookupop)
8# define SIOCLOOKUPSTAT _IOWR('r', 64, struct iplookupop)
9# define SIOCLOOKUPSTATW _IOW('r', 64, struct iplookupop)
10# define SIOCLOOKUPFLUSH _IOWR('r', 65, struct iplookupflush)
11# define SIOCLOOKUPADDNODE _IOWR('r', 67, struct iplookupop)
12# define SIOCLOOKUPADDNODEW _IOW('r', 67, struct iplookupop)
13# define SIOCLOOKUPDELNODE _IOWR('r', 68, struct iplookupop)
14# define SIOCLOOKUPDELNODEW _IOW('r', 68, struct iplookupop)
15#else
16# define SIOCLOOKUPADDTABLE _IOWR(r, 60, struct iplookupop)
17# define SIOCLOOKUPDELTABLE _IOWR(r, 61, struct iplookupop)
18# define SIOCLOOKUPSTAT _IOWR(r, 64, struct iplookupop)
19# define SIOCLOOKUPSTATW _IOW(r, 64, struct iplookupop)
20# define SIOCLOOKUPFLUSH _IOWR(r, 65, struct iplookupflush)
21# define SIOCLOOKUPADDNODE _IOWR(r, 67, struct iplookupop)
22# define SIOCLOOKUPADDNODEW _IOW(r, 67, struct iplookupop)
23# define SIOCLOOKUPDELNODE _IOWR(r, 68, struct iplookupop)
24# define SIOCLOOKUPDELNODEW _IOW(r, 68, struct iplookupop)
25#endif
26
27typedef struct iplookupop {
28 int iplo_type; /* IPLT_* */
29 int iplo_unit; /* IPL_LOG* */
30 u_int iplo_arg;
31 char iplo_name[FR_GROUPLEN];
32 size_t iplo_size; /* sizeof struct at iplo_struct */
33 void *iplo_struct;
34} iplookupop_t;
35
36#define LOOKUP_ANON 0x80000000
37
38
39typedef struct iplookupflush {
40 int iplf_type; /* IPLT_* */
41 int iplf_unit; /* IPL_LOG* */
42 u_int iplf_arg;
43 size_t iplf_count;
44 char iplf_name[FR_GROUPLEN];
45} iplookupflush_t;
46
47typedef struct iplookuplink {
48 int ipll_type; /* IPLT_* */
49 int ipll_unit; /* IPL_LOG* */
50 u_int ipll_num;
51 char ipll_group[FR_GROUPLEN];
52} iplookuplink_t;
53
54#define IPLT_ALL -1
55#define IPLT_NONE 0
56#define IPLT_POOL 1
57#define IPLT_HASH 2
58
59#define IPLT_ANON 0x80000000
60
61
62typedef union {
63 struct iplookupiterkey {
64 char ilik_ival;
65 u_char ilik_type; /* IPLT_* */
66 u_char ilik_otype;
1
2#ifndef __IP_LOOKUP_H__
3#define __IP_LOOKUP_H__
4
5#if defined(__STDC__) || defined(__GNUC__) || defined(_AIX51)
6# define SIOCLOOKUPADDTABLE _IOWR('r', 60, struct iplookupop)
7# define SIOCLOOKUPDELTABLE _IOWR('r', 61, struct iplookupop)
8# define SIOCLOOKUPSTAT _IOWR('r', 64, struct iplookupop)
9# define SIOCLOOKUPSTATW _IOW('r', 64, struct iplookupop)
10# define SIOCLOOKUPFLUSH _IOWR('r', 65, struct iplookupflush)
11# define SIOCLOOKUPADDNODE _IOWR('r', 67, struct iplookupop)
12# define SIOCLOOKUPADDNODEW _IOW('r', 67, struct iplookupop)
13# define SIOCLOOKUPDELNODE _IOWR('r', 68, struct iplookupop)
14# define SIOCLOOKUPDELNODEW _IOW('r', 68, struct iplookupop)
15#else
16# define SIOCLOOKUPADDTABLE _IOWR(r, 60, struct iplookupop)
17# define SIOCLOOKUPDELTABLE _IOWR(r, 61, struct iplookupop)
18# define SIOCLOOKUPSTAT _IOWR(r, 64, struct iplookupop)
19# define SIOCLOOKUPSTATW _IOW(r, 64, struct iplookupop)
20# define SIOCLOOKUPFLUSH _IOWR(r, 65, struct iplookupflush)
21# define SIOCLOOKUPADDNODE _IOWR(r, 67, struct iplookupop)
22# define SIOCLOOKUPADDNODEW _IOW(r, 67, struct iplookupop)
23# define SIOCLOOKUPDELNODE _IOWR(r, 68, struct iplookupop)
24# define SIOCLOOKUPDELNODEW _IOW(r, 68, struct iplookupop)
25#endif
26
27typedef struct iplookupop {
28 int iplo_type; /* IPLT_* */
29 int iplo_unit; /* IPL_LOG* */
30 u_int iplo_arg;
31 char iplo_name[FR_GROUPLEN];
32 size_t iplo_size; /* sizeof struct at iplo_struct */
33 void *iplo_struct;
34} iplookupop_t;
35
36#define LOOKUP_ANON 0x80000000
37
38
39typedef struct iplookupflush {
40 int iplf_type; /* IPLT_* */
41 int iplf_unit; /* IPL_LOG* */
42 u_int iplf_arg;
43 size_t iplf_count;
44 char iplf_name[FR_GROUPLEN];
45} iplookupflush_t;
46
47typedef struct iplookuplink {
48 int ipll_type; /* IPLT_* */
49 int ipll_unit; /* IPL_LOG* */
50 u_int ipll_num;
51 char ipll_group[FR_GROUPLEN];
52} iplookuplink_t;
53
54#define IPLT_ALL -1
55#define IPLT_NONE 0
56#define IPLT_POOL 1
57#define IPLT_HASH 2
58
59#define IPLT_ANON 0x80000000
60
61
62typedef union {
63 struct iplookupiterkey {
64 char ilik_ival;
65 u_char ilik_type; /* IPLT_* */
66 u_char ilik_otype;
67 char ilik_unit; /* IPL_LOG* */
67 u_char ilik_unit; /* IPL_LOG* */
68 } ilik_unstr;
69 u_32_t ilik_key;
70} iplookupiterkey_t;
71
72typedef struct ipflookupiter {
73 int ili_nitems;
74 iplookupiterkey_t ili_lkey;
75 char ili_name[FR_GROUPLEN];
76 void *ili_data;
77} ipflookupiter_t;
78
79#define ili_key ili_lkey.ilik_key
80#define ili_ival ili_lkey.ilik_unstr.ilik_ival
81#define ili_unit ili_lkey.ilik_unstr.ilik_unit
82#define ili_type ili_lkey.ilik_unstr.ilik_type
83#define ili_otype ili_lkey.ilik_unstr.ilik_otype
84
85#define IPFLOOKUPITER_LIST 0
86#define IPFLOOKUPITER_NODE 1
87
88
89extern int ip_lookup_init __P((void));
90extern int ip_lookup_ioctl __P((caddr_t, ioctlcmd_t, int, int, void *));
91extern void ip_lookup_unload __P((void));
92extern void ip_lookup_deref __P((int, void *));
68 } ilik_unstr;
69 u_32_t ilik_key;
70} iplookupiterkey_t;
71
72typedef struct ipflookupiter {
73 int ili_nitems;
74 iplookupiterkey_t ili_lkey;
75 char ili_name[FR_GROUPLEN];
76 void *ili_data;
77} ipflookupiter_t;
78
79#define ili_key ili_lkey.ilik_key
80#define ili_ival ili_lkey.ilik_unstr.ilik_ival
81#define ili_unit ili_lkey.ilik_unstr.ilik_unit
82#define ili_type ili_lkey.ilik_unstr.ilik_type
83#define ili_otype ili_lkey.ilik_unstr.ilik_otype
84
85#define IPFLOOKUPITER_LIST 0
86#define IPFLOOKUPITER_NODE 1
87
88
89extern int ip_lookup_init __P((void));
90extern int ip_lookup_ioctl __P((caddr_t, ioctlcmd_t, int, int, void *));
91extern void ip_lookup_unload __P((void));
92extern void ip_lookup_deref __P((int, void *));
93extern int ip_lookup_iterate __P((void *, int, void *));
94extern void ip_lookup_iterderef __P((u_32_t, void *));
95
96#endif /* __IP_LOOKUP_H__ */
93extern void ip_lookup_iterderef __P((u_32_t, void *));
94
95#endif /* __IP_LOOKUP_H__ */