Auto merge of #995 - canndrew:if_arp, r=alexcrichton
add net/if_arp.h definitions This is based on the contents of include/net/if_arp.h on my Linux system.
This commit is contained in:
commit
4bd52f5e3e
|
@ -85,6 +85,7 @@ fn main() {
|
|||
}
|
||||
cfg.header("net/if.h");
|
||||
cfg.header("net/route.h");
|
||||
cfg.header("net/if_arp.h");
|
||||
cfg.header("netdb.h");
|
||||
cfg.header("netinet/in.h");
|
||||
cfg.header("netinet/ip.h");
|
||||
|
|
|
@ -549,6 +549,14 @@ s! {
|
|||
pub shm_internal: *mut ::c_void,
|
||||
|
||||
}
|
||||
|
||||
pub struct arphdr {
|
||||
pub ar_hrd: u16,
|
||||
pub ar_pro: u16,
|
||||
pub ar_hln: u8,
|
||||
pub ar_pln: u8,
|
||||
pub ar_op: u16,
|
||||
}
|
||||
}
|
||||
|
||||
pub const _UTX_USERSIZE: usize = 256;
|
||||
|
|
|
@ -180,6 +180,14 @@ s! {
|
|||
pub ipi6_addr: ::in6_addr,
|
||||
pub ipi6_ifindex: ::c_uint,
|
||||
}
|
||||
|
||||
pub struct arphdr {
|
||||
pub ar_hrd: u16,
|
||||
pub ar_pro: u16,
|
||||
pub ar_hln: u8,
|
||||
pub ar_pln: u8,
|
||||
pub ar_op: u16,
|
||||
}
|
||||
}
|
||||
|
||||
pub const AIO_LISTIO_MAX: ::c_int = 16;
|
||||
|
|
|
@ -57,6 +57,15 @@ s! {
|
|||
pub l_type: ::c_short,
|
||||
pub l_whence: ::c_short,
|
||||
}
|
||||
|
||||
#[repr(packed)]
|
||||
pub struct arphdr {
|
||||
pub ar_hrd: u16,
|
||||
pub ar_pro: u16,
|
||||
pub ar_hln: u8,
|
||||
pub ar_pln: u8,
|
||||
pub ar_op: u16,
|
||||
}
|
||||
}
|
||||
|
||||
pub const D_T_FMT: ::nl_item = 0;
|
||||
|
|
|
@ -268,6 +268,14 @@ pub const INADDR_ANY: in_addr_t = 0;
|
|||
pub const INADDR_BROADCAST: in_addr_t = 4294967295;
|
||||
pub const INADDR_NONE: in_addr_t = 4294967295;
|
||||
|
||||
pub const ARPOP_REQUEST: u16 = 1;
|
||||
pub const ARPOP_REPLY: u16 = 2;
|
||||
|
||||
pub const ATF_COM: ::c_int = 0x02;
|
||||
pub const ATF_PERM: ::c_int = 0x04;
|
||||
pub const ATF_PUBL: ::c_int = 0x08;
|
||||
pub const ATF_USETRAILERS: ::c_int = 0x10;
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(cross_platform_docs)] {
|
||||
// on dox builds don't pull in anything
|
||||
|
|
|
@ -451,6 +451,15 @@ s! {
|
|||
pub f_namemax: ::c_ulong,
|
||||
__f_spare: [::c_int; 6],
|
||||
}
|
||||
|
||||
pub struct arpd_request {
|
||||
pub req: ::c_ushort,
|
||||
pub ip: u32,
|
||||
pub dev: ::c_ulong,
|
||||
pub stamp: ::c_ulong,
|
||||
pub updated: ::c_ulong,
|
||||
pub ha: [::c_uchar; ::MAX_ADDR_LEN],
|
||||
}
|
||||
}
|
||||
|
||||
pub const ABDAY_1: ::nl_item = 0x20000;
|
||||
|
@ -1474,6 +1483,12 @@ pub const TIOCM_CD: ::c_int = TIOCM_CAR;
|
|||
pub const TIOCM_RI: ::c_int = TIOCM_RNG;
|
||||
pub const O_TMPFILE: ::c_int = 0x400000;
|
||||
|
||||
pub const MAX_ADDR_LEN: usize = 7;
|
||||
pub const ARPD_UPDATE: ::c_ushort = 0x01;
|
||||
pub const ARPD_LOOKUP: ::c_ushort = 0x02;
|
||||
pub const ARPD_FLUSH: ::c_ushort = 0x03;
|
||||
pub const ATF_MAGIC: ::c_int = 0x80;
|
||||
|
||||
f! {
|
||||
pub fn CPU_ZERO(cpuset: &mut cpu_set_t) -> () {
|
||||
for slot in cpuset.bits.iter_mut() {
|
||||
|
|
|
@ -464,6 +464,15 @@ s! {
|
|||
pub ipi6_addr: ::in6_addr,
|
||||
pub ipi6_ifindex: ::c_uint,
|
||||
}
|
||||
|
||||
pub struct arpd_request {
|
||||
pub req: ::c_ushort,
|
||||
pub ip: u32,
|
||||
pub dev: ::c_ulong,
|
||||
pub stamp: ::c_ulong,
|
||||
pub updated: ::c_ulong,
|
||||
pub ha: [::c_uchar; ::MAX_ADDR_LEN],
|
||||
}
|
||||
}
|
||||
|
||||
pub const ABDAY_1: ::nl_item = 0x20000;
|
||||
|
@ -1467,6 +1476,12 @@ pub const RTMSG_DELRULE: u32 = 0x32;
|
|||
pub const RTMSG_CONTROL: u32 = 0x40;
|
||||
pub const RTMSG_AR_FAILED: u32 = 0x51;
|
||||
|
||||
pub const MAX_ADDR_LEN: usize = 7;
|
||||
pub const ARPD_UPDATE: ::c_ushort = 0x01;
|
||||
pub const ARPD_LOOKUP: ::c_ushort = 0x02;
|
||||
pub const ARPD_FLUSH: ::c_ushort = 0x03;
|
||||
pub const ATF_MAGIC: ::c_int = 0x80;
|
||||
|
||||
f! {
|
||||
pub fn CPU_ZERO(cpuset: &mut cpu_set_t) -> () {
|
||||
for slot in cpuset.bits.iter_mut() {
|
||||
|
|
|
@ -206,6 +206,29 @@ s! {
|
|||
rtmsg_flags: u32,
|
||||
rtmsg_ifindex: ::c_int,
|
||||
}
|
||||
|
||||
pub struct arpreq {
|
||||
pub arp_pa: ::sockaddr,
|
||||
pub arp_ha: ::sockaddr,
|
||||
pub arp_flags: ::c_int,
|
||||
pub arp_netmask: ::sockaddr,
|
||||
pub arp_dev: [::c_char; 16],
|
||||
}
|
||||
|
||||
pub struct arpreq_old {
|
||||
pub arp_pa: ::sockaddr,
|
||||
pub arp_ha: ::sockaddr,
|
||||
pub arp_flags: ::c_int,
|
||||
pub arp_netmask: ::sockaddr,
|
||||
}
|
||||
|
||||
pub struct arphdr {
|
||||
pub ar_hrd: u16,
|
||||
pub ar_pro: u16,
|
||||
pub ar_hln: u8,
|
||||
pub ar_pln: u8,
|
||||
pub ar_op: u16,
|
||||
}
|
||||
}
|
||||
|
||||
// intentionally not public, only used for fd_set
|
||||
|
@ -883,6 +906,76 @@ pub const IPOPT_TS_TSONLY: u8 = 0;
|
|||
pub const IPOPT_TS_TSANDADDR: u8 = 1;
|
||||
pub const IPOPT_TS_PRESPEC: u8 = 3;
|
||||
|
||||
pub const ARPOP_RREQUEST: u16 = 3;
|
||||
pub const ARPOP_RREPLY: u16 = 4;
|
||||
pub const ARPOP_InREQUEST: u16 = 8;
|
||||
pub const ARPOP_InREPLY: u16 = 9;
|
||||
pub const ARPOP_NAK: u16 = 10;
|
||||
|
||||
pub const ATF_NETMASK: ::c_int = 0x20;
|
||||
pub const ATF_DONTPUB: ::c_int = 0x40;
|
||||
|
||||
pub const ARPHRD_NETROM: u16 = 0;
|
||||
pub const ARPHRD_ETHER: u16 = 1;
|
||||
pub const ARPHRD_EETHER: u16 = 2;
|
||||
pub const ARPHRD_AX25: u16 = 3;
|
||||
pub const ARPHRD_PRONET: u16 = 4;
|
||||
pub const ARPHRD_CHAOS: u16 = 5;
|
||||
pub const ARPHRD_IEEE802: u16 = 6;
|
||||
pub const ARPHRD_ARCNET: u16 = 7;
|
||||
pub const ARPHRD_APPLETLK: u16 = 8;
|
||||
pub const ARPHRD_DLCI: u16 = 15;
|
||||
pub const ARPHRD_ATM: u16 = 19;
|
||||
pub const ARPHRD_METRICOM: u16 = 23;
|
||||
pub const ARPHRD_IEEE1394: u16 = 24;
|
||||
pub const ARPHRD_EUI64: u16 = 27;
|
||||
pub const ARPHRD_INFINIBAND: u16 = 32;
|
||||
|
||||
pub const ARPHRD_SLIP: u16 = 256;
|
||||
pub const ARPHRD_CSLIP: u16 = 257;
|
||||
pub const ARPHRD_SLIP6: u16 = 258;
|
||||
pub const ARPHRD_CSLIP6: u16 = 259;
|
||||
pub const ARPHRD_RSRVD: u16 = 260;
|
||||
pub const ARPHRD_ADAPT: u16 = 264;
|
||||
pub const ARPHRD_ROSE: u16 = 270;
|
||||
pub const ARPHRD_X25: u16 = 271;
|
||||
pub const ARPHRD_HWX25: u16 = 272;
|
||||
pub const ARPHRD_PPP: u16 = 512;
|
||||
pub const ARPHRD_CISCO: u16 = 513;
|
||||
pub const ARPHRD_HDLC: u16 = ARPHRD_CISCO;
|
||||
pub const ARPHRD_LAPB: u16 = 516;
|
||||
pub const ARPHRD_DDCMP: u16 = 517;
|
||||
pub const ARPHRD_RAWHDLC: u16 = 518;
|
||||
|
||||
pub const ARPHRD_TUNNEL: u16 = 768;
|
||||
pub const ARPHRD_TUNNEL6: u16 = 769;
|
||||
pub const ARPHRD_FRAD: u16 = 770;
|
||||
pub const ARPHRD_SKIP: u16 = 771;
|
||||
pub const ARPHRD_LOOPBACK: u16 = 772;
|
||||
pub const ARPHRD_LOCALTLK: u16 = 773;
|
||||
pub const ARPHRD_FDDI: u16 = 774;
|
||||
pub const ARPHRD_BIF: u16 = 775;
|
||||
pub const ARPHRD_SIT: u16 = 776;
|
||||
pub const ARPHRD_IPDDP: u16 = 777;
|
||||
pub const ARPHRD_IPGRE: u16 = 778;
|
||||
pub const ARPHRD_PIMREG: u16 = 779;
|
||||
pub const ARPHRD_HIPPI: u16 = 780;
|
||||
pub const ARPHRD_ASH: u16 = 781;
|
||||
pub const ARPHRD_ECONET: u16 = 782;
|
||||
pub const ARPHRD_IRDA: u16 = 783;
|
||||
pub const ARPHRD_FCPP: u16 = 784;
|
||||
pub const ARPHRD_FCAL: u16 = 785;
|
||||
pub const ARPHRD_FCPL: u16 = 786;
|
||||
pub const ARPHRD_FCFABRIC: u16 = 787;
|
||||
pub const ARPHRD_IEEE802_TR: u16 = 800;
|
||||
pub const ARPHRD_IEEE80211: u16 = 801;
|
||||
pub const ARPHRD_IEEE80211_PRISM: u16 = 802;
|
||||
pub const ARPHRD_IEEE80211_RADIOTAP: u16 = 803;
|
||||
pub const ARPHRD_IEEE802154: u16 = 804;
|
||||
|
||||
pub const ARPHRD_VOID: u16 = 0xFFFF;
|
||||
pub const ARPHRD_NONE: u16 = 0xFFFE;
|
||||
|
||||
f! {
|
||||
pub fn FD_CLR(fd: ::c_int, set: *mut fd_set) -> () {
|
||||
let fd = fd as usize;
|
||||
|
|
Loading…
Reference in a new issue