summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-07-06 15:55:00 +0000
committerbors <bors@rust-lang.org>2018-07-06 15:55:00 +0000
commit22e4dcff18f35e7ce3dc4af913a399969078d6a5 (patch)
tree0a30bc76e3d54c514d9a06ce6190f6c60da4cd9f
parent460fb1310a5ec1951e730b4c668b922eb6ecb521 (diff)
parent5446faa3c5c4292fa9135208146bbb07fcc235ea (diff)
downloadrust-libc-22e4dcff18f35e7ce3dc4af913a399969078d6a5.tar.gz
Auto merge of #1033 - SmilingNavern:add_packet_mreq, r=alexcrichton
Add if_packet.h headers Some structs for implementing af_packet(7)
-rw-r--r--src/unix/notbsd/linux/mod.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/unix/notbsd/linux/mod.rs b/src/unix/notbsd/linux/mod.rs
index fdd26f8409..a71df7f575 100644
--- a/src/unix/notbsd/linux/mod.rs
+++ b/src/unix/notbsd/linux/mod.rs
@@ -229,6 +229,13 @@ s! {
pad: [::c_long; 4],
}
+ pub struct packet_mreq {
+ pub mr_ifindex: ::c_int,
+ pub mr_type: ::c_ushort,
+ pub mr_alen: ::c_ushort,
+ pub mr_address: [::c_uchar; 8],
+ }
+
pub struct cpu_set_t {
#[cfg(all(target_pointer_width = "32",
not(target_arch = "x86_64")))]
@@ -1300,6 +1307,15 @@ pub const CTRL_ATTR_MCAST_GRP_UNSPEC: ::c_int = 0;
pub const CTRL_ATTR_MCAST_GRP_NAME: ::c_int = 1;
pub const CTRL_ATTR_MCAST_GRP_ID: ::c_int = 2;
+// linux/if_packet.h
+pub const PACKET_ADD_MEMBERSHIP: ::c_int = 1;
+pub const PACKET_DROP_MEMBERSHIP: ::c_int = 2;
+
+pub const PACKET_MR_MULTICAST: ::c_int = 0;
+pub const PACKET_MR_PROMISC: ::c_int = 1;
+pub const PACKET_MR_ALLMULTI: ::c_int = 2;
+pub const PACKET_MR_UNICAST: ::c_int = 3;
+
// linux/netfilter.h
pub const NF_DROP: ::c_int = 0;
pub const NF_ACCEPT: ::c_int = 1;