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