1 #ifndef _EBT_ULOG_H
2 #define _EBT_ULOG_H
3 
4 #include <linux/types.h>
5 
6 #define EBT_ULOG_DEFAULT_NLGROUP 0
7 #define EBT_ULOG_DEFAULT_QTHRESHOLD 1
8 #define EBT_ULOG_MAXNLGROUPS 32 /* hardcoded netlink max */
9 #define EBT_ULOG_PREFIX_LEN 32
10 #define EBT_ULOG_MAX_QLEN 50
11 #define EBT_ULOG_WATCHER "ulog"
12 #define EBT_ULOG_VERSION 1
13 
14 struct ebt_ulog_info {
15 	__u32 nlgroup;
16 	unsigned int cprange;
17 	unsigned int qthreshold;
18 	char prefix[EBT_ULOG_PREFIX_LEN];
19 };
20 
21 typedef struct ebt_ulog_packet_msg {
22 	int version;
23 	char indev[IFNAMSIZ];
24 	char outdev[IFNAMSIZ];
25 	char physindev[IFNAMSIZ];
26 	char physoutdev[IFNAMSIZ];
27 	char prefix[EBT_ULOG_PREFIX_LEN];
28 	struct timeval stamp;
29 	unsigned long mark;
30 	unsigned int hook;
31 	size_t data_len;
32 	/* The complete packet, including Ethernet header and perhaps
33 	 * the VLAN header is appended */
34 	unsigned char data[0] __attribute__
35 	                      ((aligned (__alignof__(struct ebt_ulog_info))));
36 } ebt_ulog_packet_msg_t;
37 
38 #endif /* _EBT_ULOG_H */
39