Updated binary toolchain for kernel 2.4 target (gcc 4.2.4, binutils 2.20.1)
[tomato.git] / tools / brcm / K24 / hndtools-mipsel-uclibc-4.2.4 / include / linux / netfilter_ipv4 / ipt_ULOG.h
blobf267ab8e4ae9143cec0a417c1959e4088e23bab3
1 /* Header file for IP tables userspace logging, Version 1.8
3 * (C) 2000-2002 by Harald Welte <laforge@gnumonks.org>
4 *
5 * Distributed under the terms of GNU GPL */
7 #ifndef _IPT_ULOG_H
8 #define _IPT_ULOG_H
10 #ifndef NETLINK_NFLOG
11 #define NETLINK_NFLOG 5
12 #endif
14 #define ULOG_DEFAULT_NLGROUP 1
15 #define ULOG_DEFAULT_QTHRESHOLD 1
17 #define ULOG_MAC_LEN 80
18 #define ULOG_PREFIX_LEN 32
20 #define ULOG_MAX_QLEN 50
21 /* Why 50? Well... there is a limit imposed by the slab cache 131000
22 * bytes. So the multipart netlink-message has to be < 131000 bytes.
23 * Assuming a standard ethernet-mtu of 1500, we could define this up
24 * to 80... but even 50 seems to be big enough. */
26 /* private data structure for each rule with a ULOG target */
27 struct ipt_ulog_info {
28 unsigned int nl_group;
29 #ifdef KERNEL_64_USERSPACE_32
30 unsigned long long copy_range;
31 unsigned long long qthreshold;
32 #else
33 size_t copy_range;
34 size_t qthreshold;
35 #endif
36 char prefix[ULOG_PREFIX_LEN];
39 /* Format of the ULOG packets passed through netlink */
40 typedef struct ulog_packet_msg {
41 unsigned long mark;
42 long timestamp_sec;
43 long timestamp_usec;
44 unsigned int hook;
45 char indev_name[IFNAMSIZ];
46 char outdev_name[IFNAMSIZ];
47 size_t data_len;
48 char prefix[ULOG_PREFIX_LEN];
49 unsigned char mac_len;
50 unsigned char mac[ULOG_MAC_LEN];
51 unsigned char payload[0];
52 } ulog_packet_msg_t;
54 #endif /*_IPT_ULOG_H*/