130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _EBT_ULOG_H 230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _EBT_ULOG_H 330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/types.h> 530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EBT_ULOG_DEFAULT_NLGROUP 0 730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EBT_ULOG_DEFAULT_QTHRESHOLD 1 830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EBT_ULOG_MAXNLGROUPS 32 /* hardcoded netlink max */ 930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EBT_ULOG_PREFIX_LEN 32 1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EBT_ULOG_MAX_QLEN 50 1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EBT_ULOG_WATCHER "ulog" 1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EBT_ULOG_VERSION 1 1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 1430692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct ebt_ulog_info { 1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 nlgroup; 1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng unsigned int cprange; 1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng unsigned int qthreshold; 1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char prefix[EBT_ULOG_PREFIX_LEN]; 1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2130692c65c4174412c90e79489e98ab85c1a7412fBen Chengtypedef struct ebt_ulog_packet_msg { 2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng int version; 2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char indev[IFNAMSIZ]; 2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char outdev[IFNAMSIZ]; 2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char physindev[IFNAMSIZ]; 2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char physoutdev[IFNAMSIZ]; 2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char prefix[EBT_ULOG_PREFIX_LEN]; 2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng struct timeval stamp; 2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng unsigned long mark; 3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng unsigned int hook; 3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng size_t data_len; 3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng /* The complete packet, including Ethernet header and perhaps 3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * the VLAN header is appended */ 3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng unsigned char data[0] __attribute__ 3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng ((aligned (__alignof__(struct ebt_ulog_info)))); 3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng} ebt_ulog_packet_msg_t; 3730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* _EBT_ULOG_H */ 39