linux/include/net/netfilter/nf_log.h
<<
>>
Prefs
   1#ifndef _NF_LOG_H
   2#define _NF_LOG_H
   3
   4#include <linux/netfilter.h>
   5
   6/* those NF_LOG_* defines and struct nf_loginfo are legacy definitios that will
   7 * disappear once iptables is replaced with pkttables.  Please DO NOT use them
   8 * for any new code! */
   9#define NF_LOG_TCPSEQ           0x01    /* Log TCP sequence numbers */
  10#define NF_LOG_TCPOPT           0x02    /* Log TCP options */
  11#define NF_LOG_IPOPT            0x04    /* Log IP options */
  12#define NF_LOG_UID              0x08    /* Log UID owning local socket */
  13#define NF_LOG_MASK             0x0f
  14
  15#define NF_LOG_TYPE_LOG         0x01
  16#define NF_LOG_TYPE_ULOG        0x02
  17
  18struct nf_loginfo {
  19        u_int8_t type;
  20        union {
  21                struct {
  22                        u_int32_t copy_len;
  23                        u_int16_t group;
  24                        u_int16_t qthreshold;
  25                } ulog;
  26                struct {
  27                        u_int8_t level;
  28                        u_int8_t logflags;
  29                } log;
  30        } u;
  31};
  32
  33typedef void nf_logfn(u_int8_t pf,
  34                      unsigned int hooknum,
  35                      const struct sk_buff *skb,
  36                      const struct net_device *in,
  37                      const struct net_device *out,
  38                      const struct nf_loginfo *li,
  39                      const char *prefix);
  40
  41struct nf_logger {
  42        struct module   *me;
  43        nf_logfn        *logfn;
  44        char            *name;
  45        struct list_head        list[NFPROTO_NUMPROTO];
  46};
  47
  48/* Function to register/unregister log function. */
  49int nf_log_register(u_int8_t pf, struct nf_logger *logger);
  50void nf_log_unregister(struct nf_logger *logger);
  51
  52int nf_log_bind_pf(u_int8_t pf, const struct nf_logger *logger);
  53void nf_log_unbind_pf(u_int8_t pf);
  54
  55/* Calls the registered backend logging function */
  56void nf_log_packet(u_int8_t pf,
  57                   unsigned int hooknum,
  58                   const struct sk_buff *skb,
  59                   const struct net_device *in,
  60                   const struct net_device *out,
  61                   const struct nf_loginfo *li,
  62                   const char *fmt, ...) __attribute__ ((format(printf,7,8)));
  63
  64#endif /* _NF_LOG_H */
  65