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(struct net *net,
  34                      u_int8_t pf,
  35                      unsigned int hooknum,
  36                      const struct sk_buff *skb,
  37                      const struct net_device *in,
  38                      const struct net_device *out,
  39                      const struct nf_loginfo *li,
  40                      const char *prefix);
  41
  42struct nf_logger {
  43        struct module   *me;
  44        nf_logfn        *logfn;
  45        char            *name;
  46        struct list_head        list[NFPROTO_NUMPROTO];
  47};
  48
  49/* Function to register/unregister log function. */
  50int nf_log_register(u_int8_t pf, struct nf_logger *logger);
  51void nf_log_unregister(struct nf_logger *logger);
  52
  53void nf_log_set(struct net *net, u_int8_t pf,
  54                const struct nf_logger *logger);
  55void nf_log_unset(struct net *net, const struct nf_logger *logger);
  56
  57int nf_log_bind_pf(struct net *net, u_int8_t pf,
  58                   const struct nf_logger *logger);
  59void nf_log_unbind_pf(struct net *net, u_int8_t pf);
  60
  61/* Calls the registered backend logging function */
  62__printf(8, 9)
  63void nf_log_packet(struct net *net,
  64                   u_int8_t pf,
  65                   unsigned int hooknum,
  66                   const struct sk_buff *skb,
  67                   const struct net_device *in,
  68                   const struct net_device *out,
  69                   const struct nf_loginfo *li,
  70                   const char *fmt, ...);
  71
  72#endif /* _NF_LOG_H */
  73