hc
2024-05-10 cde9070d9970eef1f7ec2360586c802a16230ad8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
From b10c90a61a5fc46f2be5aeecb9c96e84178f7717 Mon Sep 17 00:00:00 2001
From: Felix Janda <felix.janda@posteo.de>
Date: Sat, 16 May 2015 14:49:07 +0200
Subject: [PATCH 5/6] include: Sync with kernel headers
 
Signed-off-by: Felix Janda <felix.janda@posteo.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
 include/libnfnetlink/linux_nfnetlink.h        | 44 ++++-----------------------
 include/libnfnetlink/linux_nfnetlink_compat.h | 12 ++++----
 2 files changed, 12 insertions(+), 44 deletions(-)
 
diff --git a/include/libnfnetlink/linux_nfnetlink.h b/include/libnfnetlink/linux_nfnetlink.h
index 76a8550..44a38d6 100644
--- a/include/libnfnetlink/linux_nfnetlink.h
+++ b/include/libnfnetlink/linux_nfnetlink.h
@@ -25,9 +25,9 @@ enum nfnetlink_groups {
 /* General form of address family dependent message.
  */
 struct nfgenmsg {
-    u_int8_t  nfgen_family;        /* AF_xxx */
-    u_int8_t  version;        /* nfnetlink version */
-    u_int16_t    res_id;        /* resource id */
+    __u8  nfgen_family;        /* AF_xxx */
+    __u8  version;        /* nfnetlink version */
+    __be16    res_id;        /* resource id */
 };
 
 #define NFNETLINK_V0    0
@@ -46,40 +46,8 @@ struct nfgenmsg {
 #define NFNL_SUBSYS_CTNETLINK_EXP    2
 #define NFNL_SUBSYS_QUEUE        3
 #define NFNL_SUBSYS_ULOG        4
-#define NFNL_SUBSYS_COUNT        5
+#define NFNL_SUBSYS_OSF            5
+#define NFNL_SUBSYS_IPSET        6
+#define NFNL_SUBSYS_COUNT        7
 
-#ifdef __KERNEL__
-
-#include <linux/netlink.h>
-#include <linux/capability.h>
-#include <net/netlink.h>
-
-struct nfnl_callback
-{
-    int (*call)(struct sock *nl, struct sk_buff *skb, 
-        struct nlmsghdr *nlh, struct nlattr *cda[]);
-    const struct nla_policy *policy;    /* netlink attribute policy */
-    const u_int16_t attr_count;        /* number of nlattr's */
-};
-
-struct nfnetlink_subsystem
-{
-    const char *name;
-    __u8 subsys_id;            /* nfnetlink subsystem ID */
-    __u8 cb_count;            /* number of callbacks */
-    const struct nfnl_callback *cb;    /* callback for individual types */
-};
-
-extern int nfnetlink_subsys_register(const struct nfnetlink_subsystem *n);
-extern int nfnetlink_subsys_unregister(const struct nfnetlink_subsystem *n);
-
-extern int nfnetlink_has_listeners(unsigned int group);
-extern int nfnetlink_send(struct sk_buff *skb, u32 pid, unsigned group, 
-              int echo);
-extern int nfnetlink_unicast(struct sk_buff *skb, u_int32_t pid, int flags);
-
-#define MODULE_ALIAS_NFNL_SUBSYS(subsys) \
-    MODULE_ALIAS("nfnetlink-subsys-" __stringify(subsys))
-
-#endif    /* __KERNEL__ */
 #endif    /* _NFNETLINK_H */
diff --git a/include/libnfnetlink/linux_nfnetlink_compat.h b/include/libnfnetlink/linux_nfnetlink_compat.h
index e145176..74b9e55 100644
--- a/include/libnfnetlink/linux_nfnetlink_compat.h
+++ b/include/libnfnetlink/linux_nfnetlink_compat.h
@@ -1,6 +1,8 @@
 #ifndef _NFNETLINK_COMPAT_H
 #define _NFNETLINK_COMPAT_H
-#ifndef __KERNEL__
+
+#include <linux/types.h>
+
 /* Old nfnetlink macros for userspace */
 
 /* nfnetlink groups: Up to 32 maximum */
@@ -18,10 +20,9 @@
  * ! nfnetlink use the same attributes methods. - J. Schulist.
  */
 
-struct nfattr
-{
-    u_int16_t nfa_len;
-    u_int16_t nfa_type;    /* we use 15 bits for the type, and the highest
+struct nfattr {
+    __u16 nfa_len;
+    __u16 nfa_type;    /* we use 15 bits for the type, and the highest
                  * bit to indicate whether the payload is nested */
 };
 
@@ -57,5 +58,4 @@ struct nfattr
         + NLMSG_ALIGN(sizeof(struct nfgenmsg))))
 #define NFM_PAYLOAD(n)  NLMSG_PAYLOAD(n, sizeof(struct nfgenmsg))
 
-#endif /* ! __KERNEL__ */
 #endif /* _NFNETLINK_COMPAT_H */
-- 
2.12.1