1#ifndef _UAPI_NFNL_ACCT_H_
2#define _UAPI_NFNL_ACCT_H_
3
4#ifndef NFACCT_NAME_MAX
5#define NFACCT_NAME_MAX		32
6#endif
7
8enum nfnl_acct_msg_types {
9	NFNL_MSG_ACCT_NEW,
10	NFNL_MSG_ACCT_GET,
11	NFNL_MSG_ACCT_GET_CTRZERO,
12	NFNL_MSG_ACCT_DEL,
13	NFNL_MSG_ACCT_OVERQUOTA,
14	NFNL_MSG_ACCT_MAX
15};
16
17enum nfnl_acct_flags {
18	NFACCT_F_QUOTA_PKTS	= (1 << 0),
19	NFACCT_F_QUOTA_BYTES	= (1 << 1),
20	NFACCT_F_OVERQUOTA	= (1 << 2), /* can't be set from userspace */
21};
22
23enum nfnl_acct_type {
24	NFACCT_UNSPEC,
25	NFACCT_NAME,
26	NFACCT_PKTS,
27	NFACCT_BYTES,
28	NFACCT_USE,
29	NFACCT_FLAGS,
30	NFACCT_QUOTA,
31	NFACCT_FILTER,
32	NFACCT_PAD,
33	__NFACCT_MAX
34};
35#define NFACCT_MAX (__NFACCT_MAX - 1)
36
37enum nfnl_attr_filter_type {
38	NFACCT_FILTER_UNSPEC,
39	NFACCT_FILTER_MASK,
40	NFACCT_FILTER_VALUE,
41	__NFACCT_FILTER_MAX
42};
43#define NFACCT_FILTER_MAX (__NFACCT_FILTER_MAX - 1)
44
45#endif /* _UAPI_NFNL_ACCT_H_ */
46