Skip to content

Commit

Permalink
WIP: add socket constants already present in libc
Browse files Browse the repository at this point in the history
  • Loading branch information
ndusart committed Jul 17, 2017
1 parent a29c9d7 commit 138e41d
Show file tree
Hide file tree
Showing 2 changed files with 192 additions and 5 deletions.
190 changes: 190 additions & 0 deletions src/sys/socket/addr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,196 @@ pub enum AddressFamily {
Packet = libc::AF_PACKET,
#[cfg(any(target_os = "macos", target_os = "ios"))]
System = libc::AF_SYSTEM,
#[cfg(any(target_os = "linux", target_os = "android"))]
Ax25 = libc::AF_AX25,
Ipx = libc::AF_IPX,
AppleTalk = libc::AF_APPLETALK,
#[cfg(any(target_os = "linux", target_os = "android"))]
NetRom = libc::AF_NETROM,
#[cfg(any(target_os = "linux", target_os = "android"))]
Bridge = libc::AF_BRIDGE,
#[cfg(any(target_os = "linux", target_os = "android"))]
AtmPvc = libc::AF_ATMPVC,
#[cfg(any(target_os = "linux", target_os = "android"))]
X25 = libc::AF_X25,
#[cfg(any(target_os = "linux", target_os = "android"))]
Rose = libc::AF_ROSE,
Decnet = libc::AF_DECnet,
#[cfg(any(target_os = "linux", target_os = "android"))]
NetBeui = libc::AF_NETBEUI,
#[cfg(any(target_os = "linux", target_os = "android"))]
Security = libc::AF_SECURITY,
#[cfg(any(target_os = "linux", target_os = "android"))]
Key = libc::AF_KEY,
#[cfg(any(target_os = "linux", target_os = "android"))]
Ash = libc::AF_ASH,
#[cfg(any(target_os = "linux", target_os = "android"))]
Econet = libc::AF_ECONET,
#[cfg(any(target_os = "linux", target_os = "android"))]
AtmSvc = libc::AF_ATMSVC,
#[cfg(any(target_os = "linux", target_os = "android"))]
Rds = libc::AF_RDS,
Sna = libc::AF_SNA,
#[cfg(any(target_os = "linux", target_os = "android"))]
Irda = libc::AF_IRDA,
#[cfg(any(target_os = "linux", target_os = "android"))]
Pppox = libc::AF_PPPOX,
#[cfg(any(target_os = "linux", target_os = "android"))]
Wanpipe = libc::AF_WANPIPE,
#[cfg(any(target_os = "linux", target_os = "android"))]
Llc = libc::AF_LLC,
#[cfg(target_os = "linux")]
Ib = libc::AF_IB,
#[cfg(target_os = "linux")]
Mpls = libc::AF_MPLS,
#[cfg(any(target_os = "linux", target_os = "android"))]
Can = libc::AF_CAN,
#[cfg(any(target_os = "linux", target_os = "android"))]
Tipc = libc::AF_TIPC,
Bluetooth = libc::AF_BLUETOOTH,
#[cfg(any(target_os = "linux", target_os = "android"))]
Iucv = libc::AF_IUCV,
#[cfg(any(target_os = "linux", target_os = "android"))]
RxRpc = libc::AF_RXRPC,
Isdn = libc::AF_ISDN,
#[cfg(any(target_os = "linux", target_os = "android"))]
Phonet = libc::AF_PHONET,
#[cfg(any(target_os = "linux", target_os = "android"))]
Ieee802154 = libc::AF_IEEE802154,
#[cfg(any(target_os = "linux", target_os = "android"))]
Caif = libc::AF_CAIF,
#[cfg(any(target_os = "linux", target_os = "android"))]
Alg = libc::AF_ALG,
#[cfg(target_os = "linux")]
Nfc = libc::AF_NFC,
#[cfg(target_os = "linux")]
Vsock = libc::AF_VSOCK,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
ImpLink = libc::AF_IMPLINK,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Pup = libc::AF_PUP,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Chaos = libc::AF_CHAOS,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Ns = libc::AF_NS,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Iso = libc::AF_ISO,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Osi = libc::AF_OSI,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Datakit = libc::AF_DATAKIT,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Ccitt = libc::AF_CCITT,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Dli = libc::AF_DLI,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Lat = libc::AF_LAT,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Hylink = libc::AF_HYLINK,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Link = libc::AF_LINK,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Xtp = libc::AF_XTP,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Coip = libc::AF_COIP,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Cnt = libc::AF_CNT,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Rtip = libc::AF_RTIP,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Pip = libc::AF_PIP,
#[cfg(any(target_os = "macos",
target_os = "ios",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "dragonfly"))]
Natm = libc::AF_NATM,
}

#[derive(Copy)]
Expand Down
7 changes: 2 additions & 5 deletions src/sys/socket/sockopt.rs
Original file line number Diff line number Diff line change
Expand Up @@ -166,14 +166,11 @@ sockopt_impl!(Both, TcpKeepAlive, libc::IPPROTO_TCP, libc::TCP_KEEPALIVE, u32);
sockopt_impl!(Both, TcpKeepIdle, libc::IPPROTO_TCP, libc::TCP_KEEPIDLE, u32);
sockopt_impl!(Both, RcvBuf, libc::SOL_SOCKET, libc::SO_RCVBUF, usize);
sockopt_impl!(Both, SndBuf, libc::SOL_SOCKET, libc::SO_SNDBUF, usize);
#[cfg(target_os = "linux")]
#[cfg(any(target_os = "linux", target_os = "android"))]
sockopt_impl!(SetOnly, RcvBufForce, libc::SOL_SOCKET, libc::SO_RCVBUFFORCE, usize);
#[cfg(all(target_os = "linux", not(target_arch="arm")))]
#[cfg(any(target_os = "linux", target_os = "android"))]
sockopt_impl!(SetOnly, SndBufForce, libc::SOL_SOCKET, libc::SO_SNDBUFFORCE, usize);
sockopt_impl!(GetOnly, SockType, libc::SOL_SOCKET, libc::SO_TYPE, super::SockType);
#[cfg(any(target_os = "freebsd",
target_os = "linux",
target_os = "nacl"))]
sockopt_impl!(GetOnly, AcceptConn, libc::SOL_SOCKET, libc::SO_ACCEPTCONN, bool);
#[cfg(any(target_os = "linux", target_os = "android"))]
sockopt_impl!(GetOnly, OriginalDst, libc::SOL_IP, libc::SO_ORIGINAL_DST, sockaddr_in);
Expand Down

0 comments on commit 138e41d

Please sign in to comment.