diff options
Diffstat (limited to 'include/linux/netlink.h')
-rw-r--r-- | include/linux/netlink.h | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/include/linux/netlink.h b/include/linux/netlink.h index 70c2a9dc4b2b..167518668936 100644 --- a/include/linux/netlink.h +++ b/include/linux/netlink.h | |||
@@ -8,19 +8,17 @@ | |||
8 | #define NETLINK_W1 1 /* 1-wire subsystem */ | 8 | #define NETLINK_W1 1 /* 1-wire subsystem */ |
9 | #define NETLINK_USERSOCK 2 /* Reserved for user mode socket protocols */ | 9 | #define NETLINK_USERSOCK 2 /* Reserved for user mode socket protocols */ |
10 | #define NETLINK_FIREWALL 3 /* Firewalling hook */ | 10 | #define NETLINK_FIREWALL 3 /* Firewalling hook */ |
11 | #define NETLINK_TCPDIAG 4 /* TCP socket monitoring */ | 11 | #define NETLINK_INET_DIAG 4 /* INET socket monitoring */ |
12 | #define NETLINK_NFLOG 5 /* netfilter/iptables ULOG */ | 12 | #define NETLINK_NFLOG 5 /* netfilter/iptables ULOG */ |
13 | #define NETLINK_XFRM 6 /* ipsec */ | 13 | #define NETLINK_XFRM 6 /* ipsec */ |
14 | #define NETLINK_SELINUX 7 /* SELinux event notifications */ | 14 | #define NETLINK_SELINUX 7 /* SELinux event notifications */ |
15 | #define NETLINK_ARPD 8 | 15 | #define NETLINK_ISCSI 8 /* Open-iSCSI */ |
16 | #define NETLINK_AUDIT 9 /* auditing */ | 16 | #define NETLINK_AUDIT 9 /* auditing */ |
17 | #define NETLINK_FIB_LOOKUP 10 | 17 | #define NETLINK_FIB_LOOKUP 10 |
18 | #define NETLINK_ROUTE6 11 /* af_inet6 route comm channel */ | ||
19 | #define NETLINK_NETFILTER 12 /* netfilter subsystem */ | 18 | #define NETLINK_NETFILTER 12 /* netfilter subsystem */ |
20 | #define NETLINK_IP6_FW 13 | 19 | #define NETLINK_IP6_FW 13 |
21 | #define NETLINK_DNRTMSG 14 /* DECnet routing messages */ | 20 | #define NETLINK_DNRTMSG 14 /* DECnet routing messages */ |
22 | #define NETLINK_KOBJECT_UEVENT 15 /* Kernel messages to userspace */ | 21 | #define NETLINK_KOBJECT_UEVENT 15 /* Kernel messages to userspace */ |
23 | #define NETLINK_TAPBASE 16 /* 16 to 31 are ethertap */ | ||
24 | 22 | ||
25 | #define MAX_LINKS 32 | 23 | #define MAX_LINKS 32 |
26 | 24 | ||
@@ -92,6 +90,15 @@ struct nlmsgerr | |||
92 | struct nlmsghdr msg; | 90 | struct nlmsghdr msg; |
93 | }; | 91 | }; |
94 | 92 | ||
93 | #define NETLINK_ADD_MEMBERSHIP 1 | ||
94 | #define NETLINK_DROP_MEMBERSHIP 2 | ||
95 | #define NETLINK_PKTINFO 3 | ||
96 | |||
97 | struct nl_pktinfo | ||
98 | { | ||
99 | __u32 group; | ||
100 | }; | ||
101 | |||
95 | #define NET_MAJOR 36 /* Major 36 is reserved for networking */ | 102 | #define NET_MAJOR 36 /* Major 36 is reserved for networking */ |
96 | 103 | ||
97 | enum { | 104 | enum { |
@@ -108,9 +115,8 @@ struct netlink_skb_parms | |||
108 | { | 115 | { |
109 | struct ucred creds; /* Skb credentials */ | 116 | struct ucred creds; /* Skb credentials */ |
110 | __u32 pid; | 117 | __u32 pid; |
111 | __u32 groups; | ||
112 | __u32 dst_pid; | 118 | __u32 dst_pid; |
113 | __u32 dst_groups; | 119 | __u32 dst_group; |
114 | kernel_cap_t eff_cap; | 120 | kernel_cap_t eff_cap; |
115 | __u32 loginuid; /* Login (audit) uid */ | 121 | __u32 loginuid; /* Login (audit) uid */ |
116 | }; | 122 | }; |
@@ -119,11 +125,11 @@ struct netlink_skb_parms | |||
119 | #define NETLINK_CREDS(skb) (&NETLINK_CB((skb)).creds) | 125 | #define NETLINK_CREDS(skb) (&NETLINK_CB((skb)).creds) |
120 | 126 | ||
121 | 127 | ||
122 | extern struct sock *netlink_kernel_create(int unit, void (*input)(struct sock *sk, int len)); | 128 | extern struct sock *netlink_kernel_create(int unit, unsigned int groups, void (*input)(struct sock *sk, int len), struct module *module); |
123 | extern void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err); | 129 | extern void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err); |
124 | extern int netlink_unicast(struct sock *ssk, struct sk_buff *skb, __u32 pid, int nonblock); | 130 | extern int netlink_unicast(struct sock *ssk, struct sk_buff *skb, __u32 pid, int nonblock); |
125 | extern int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, __u32 pid, | 131 | extern int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, __u32 pid, |
126 | __u32 group, int allocation); | 132 | __u32 group, unsigned int __nocast allocation); |
127 | extern void netlink_set_err(struct sock *ssk, __u32 pid, __u32 group, int code); | 133 | extern void netlink_set_err(struct sock *ssk, __u32 pid, __u32 group, int code); |
128 | extern int netlink_register_notifier(struct notifier_block *nb); | 134 | extern int netlink_register_notifier(struct notifier_block *nb); |
129 | extern int netlink_unregister_notifier(struct notifier_block *nb); | 135 | extern int netlink_unregister_notifier(struct notifier_block *nb); |