Skip to content

Commit

Permalink
Define TCP_CA_NAME_MAX
Browse files Browse the repository at this point in the history
  • Loading branch information
Fensteer committed Nov 27, 2018
1 parent 535bc15 commit 4cac38d
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/sys/socket/sockopt.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ use std::os::raw::c_char;
use std::os::unix::io::RawFd;
use std::ffi::{CStr, CString};

// Constants
// TCP_CA_NAME_MAX isn't defined in user space include files
#[cfg(any(target_os = "freebsd", target_os = "linux"))]
const TCP_CA_NAME_MAX: usize = 16;

/// Helper for implementing `SetSockOpt` for a given socket option. See
/// [`::sys::socket::SetSockOpt`](sys/socket/trait.SetSockOpt.html).
///
Expand Down Expand Up @@ -264,8 +269,7 @@ sockopt_impl!(Both, Mark, libc::SOL_SOCKET, libc::SO_MARK, u32);
#[cfg(any(target_os = "android", target_os = "linux"))]
sockopt_impl!(Both, PassCred, libc::SOL_SOCKET, libc::SO_PASSCRED, bool);
#[cfg(any(target_os = "freebsd", target_os = "linux"))]
sockopt_impl!(Both, TcpCongestion, libc::IPPROTO_TCP, libc::TCP_CONGESTION, CString<[u8; 16]>);
// TODO: Use libc::TCP_CA_NAME_MAX (https://github.com/rust-lang/libc/pull/1151)
sockopt_impl!(Both, TcpCongestion, libc::IPPROTO_TCP, libc::TCP_CONGESTION, CString<[u8; TCP_CA_NAME_MAX]>);

/*
*
Expand Down

0 comments on commit 4cac38d

Please sign in to comment.