#ifndef _PRINTPKT_H
#define _PRINTPKT_H

enum pkt_keys {
	KEY_OOB_FAMILY,
	KEY_OOB_PREFIX,
	KEY_OOB_IN,
	KEY_OOB_OUT,
	KEY_OOB_UID,
	KEY_OOB_GID,
	KEY_OOB_MARK,
	KEY_RAW_MAC,
	KEY_RAW_MACLEN,
	KEY_IP_SADDR,
	KEY_IP_DADDR,
	KEY_IP_TOTLEN,
	KEY_IP_TOS,
	KEY_IP_TTL,
	KEY_IP_ID,
	KEY_IP_FRAGOFF,
	KEY_IP_PROTOCOL,
	KEY_IP6_PAYLOAD_LEN,
	KEY_IP6_PRIORITY,
	KEY_IP6_HOPLIMIT,
	KEY_IP6_FLOWLABEL,
	KEY_IP6_NEXTHDR,
	KEY_IP6_FRAG_OFF,
	KEY_IP6_FRAG_ID,
	KEY_TCP_SPORT,
	KEY_TCP_DPORT,
	KEY_TCP_SEQ,
	KEY_TCP_ACKSEQ,
	KEY_TCP_WINDOW,
	KEY_TCP_SYN,
	KEY_TCP_ACK,
	KEY_TCP_PSH,
	KEY_TCP_RST,
	KEY_TCP_FIN,
	KEY_TCP_URG,
	KEY_TCP_URGP,
	KEY_UDP_SPORT,
	KEY_UDP_DPORT,
	KEY_UDP_LEN,
	KEY_ICMP_TYPE,
	KEY_ICMP_CODE,
	KEY_ICMP_ECHOID,
	KEY_ICMP_ECHOSEQ,
	KEY_ICMP_GATEWAY,
	KEY_ICMP_FRAGMTU,
	KEY_ICMPV6_TYPE,
	KEY_ICMPV6_CODE,
	KEY_ICMPV6_ECHOID,
	KEY_ICMPV6_ECHOSEQ,
	KEY_AHESP_SPI,
	KEY_OOB_PROTOCOL,
	KEY_ARP_HTYPE,
	KEY_ARP_PTYPE,
	KEY_ARP_OPCODE,
	KEY_ARP_SHA,
	KEY_ARP_SPA,
	KEY_ARP_THA,
	KEY_ARP_TPA,
	KEY_SCTP_SPORT,
	KEY_SCTP_DPORT,
	__PRINTPKT_KEYS
};
#define PRINTPKT_KEYS (__PRINTPKT_KEYS)

extern struct ulogd_key printpkt_keys[PRINTPKT_KEYS];

int printpkt_print(struct ulogd_key *res, char *buf);

#endif
