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
14struct ebt_ulog_info {
15	__u32 nlgroup;
16	unsigned int cprange;
17	unsigned int qthreshold;
18	char prefix[EBT_ULOG_PREFIX_LEN];
19};
20
21typedef 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