Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  * (C) 2008 Krzysztof Piotr Oledzki <ole@ans.pl>
  3  *
  4  * This program is free software; you can redistribute it and/or modify
  5  * it under the terms of the GNU General Public License version 2 as
  6  * published by the Free Software Foundation.
  7  */
  8 
  9 #ifndef _NF_CONNTRACK_ACCT_H
 10 #define _NF_CONNTRACK_ACCT_H
 11 #include <net/net_namespace.h>
 12 #include <linux/netfilter/nf_conntrack_common.h>
 13 #include <linux/netfilter/nf_conntrack_tuple_common.h>
 14 #include <net/netfilter/nf_conntrack.h>
 15 #include <net/netfilter/nf_conntrack_extend.h>
 16 
 17 struct nf_conn_counter {
 18         u_int64_t packets;
 19         u_int64_t bytes;
 20 };
 21 
 22 static inline
 23 struct nf_conn_counter *nf_conn_acct_find(const struct nf_conn *ct)
 24 {
 25         return nf_ct_ext_find(ct, NF_CT_EXT_ACCT);
 26 }
 27 
 28 static inline
 29 struct nf_conn_counter *nf_ct_acct_ext_add(struct nf_conn *ct, gfp_t gfp)
 30 {
 31         struct net *net = nf_ct_net(ct);
 32         struct nf_conn_counter *acct;
 33 
 34         if (!net->ct.sysctl_acct)
 35                 return NULL;
 36 
 37         acct = nf_ct_ext_add(ct, NF_CT_EXT_ACCT, gfp);
 38         if (!acct)
 39                 pr_debug("failed to add accounting extension area");
 40 
 41 
 42         return acct;
 43 };
 44 
 45 extern unsigned int
 46 seq_print_acct(struct seq_file *s, const struct nf_conn *ct, int dir);
 47 
 48 extern int nf_conntrack_acct_init(struct net *net);
 49 extern void nf_conntrack_acct_fini(struct net *net);
 50 
 51 #endif /* _NF_CONNTRACK_ACCT_H */
 52 
  This page was automatically generated by the LXR engine.