diff --git a/src/header/arpa_inet/mod.rs b/src/header/arpa_inet/mod.rs index 9e350c5646..fd60d15bc5 100644 --- a/src/header/arpa_inet/mod.rs +++ b/src/header/arpa_inet/mod.rs @@ -10,9 +10,10 @@ use core::{ use crate::{ c_str::CStr, header::{ + bits_socklen_t::socklen_t, errno::{EAFNOSUPPORT, ENOSPC}, netinet_in::{INADDR_NONE, in_addr, in_addr_t, ntohl}, - sys_socket::{constants::AF_INET, socklen_t}, + sys_socket::constants::AF_INET, }, platform::{ self, diff --git a/src/header/netdb/lookup.rs b/src/header/netdb/lookup.rs index a8ad2d6886..51d29702f1 100644 --- a/src/header/netdb/lookup.rs +++ b/src/header/netdb/lookup.rs @@ -10,13 +10,14 @@ use crate::{ }; use crate::header::{ + bits_socklen_t::socklen_t, bits_time::timespec, errno::*, netinet_in::{IPPROTO_UDP, htons, in_addr, sockaddr_in}, sys_socket::{ self, constants::{AF_INET, SOCK_DGRAM}, - sockaddr, socklen_t, + sockaddr, }, time, }; diff --git a/src/header/netdb/mod.rs b/src/header/netdb/mod.rs index 8b11c28e0b..bf2d2945e9 100644 --- a/src/header/netdb/mod.rs +++ b/src/header/netdb/mod.rs @@ -13,12 +13,13 @@ use crate::{ error::ResultExt, header::{ arpa_inet::inet_aton, + bits_socklen_t::socklen_t, errno::*, fcntl::O_RDONLY, netinet_in::{htons, in_addr, ntohl, sockaddr_in, sockaddr_in6}, stdlib::atoi, strings::strcasecmp, - sys_socket::{constants::AF_INET, sa_family_t, sockaddr, socklen_t}, + sys_socket::{constants::AF_INET, sa_family_t, sockaddr}, unistd::SEEK_SET, }, platform::{ diff --git a/src/header/sys_socket/cbindgen.toml b/src/header/sys_socket/cbindgen.toml index 30faf33a14..99a29f8584 100644 --- a/src/header/sys_socket/cbindgen.toml +++ b/src/header/sys_socket/cbindgen.toml @@ -1,6 +1,9 @@ sys_includes = ["stddef.h", "stdint.h", "sys/types.h", "sys/uio.h"] include_guard = "_SYS_SOCKET_H" -trailer = "#include " +after_includes = """ +#include +#include // for socklen_t +""" language = "C" style = "Tag" no_includes = true diff --git a/src/header/sys_socket/mod.rs b/src/header/sys_socket/mod.rs index bc9b7542ad..63c008d3a5 100644 --- a/src/header/sys_socket/mod.rs +++ b/src/header/sys_socket/mod.rs @@ -6,7 +6,7 @@ use core::{mem, ptr}; use crate::{ error::ResultExt, - header::sys_uio::iovec, + header::{bits_socklen_t::socklen_t, sys_uio::iovec}, platform::{ PalSocket, Sys, types::{ @@ -18,7 +18,6 @@ use crate::{ pub mod constants; pub type sa_family_t = u16; -pub type socklen_t = u32; /// See . #[repr(C)] diff --git a/src/platform/linux/socket.rs b/src/platform/linux/socket.rs index 92d181e002..47aef77141 100644 --- a/src/platform/linux/socket.rs +++ b/src/platform/linux/socket.rs @@ -1,8 +1,14 @@ use super::{Sys, e_raw}; use crate::{ error::Result, - header::sys_socket::{msghdr, sockaddr, socklen_t}, - platform::{PalSocket, types::*}, + header::{ + bits_socklen_t::socklen_t, + sys_socket::{msghdr, sockaddr}, + }, + platform::{ + PalSocket, + types::{c_int, c_void, size_t}, + }, }; impl PalSocket for Sys { diff --git a/src/platform/pal/socket.rs b/src/platform/pal/socket.rs index 876a564ba7..77c970deff 100644 --- a/src/platform/pal/socket.rs +++ b/src/platform/pal/socket.rs @@ -1,7 +1,13 @@ use crate::{ error::Result, - header::sys_socket::{msghdr, sockaddr, socklen_t}, - platform::{Pal, types::*}, + header::{ + bits_socklen_t::socklen_t, + sys_socket::{msghdr, sockaddr}, + }, + platform::{ + Pal, + types::{c_int, c_void, size_t}, + }, }; pub trait PalSocket: Pal { diff --git a/src/platform/redox/socket.rs b/src/platform/redox/socket.rs index d150fa32bc..4105d7892e 100644 --- a/src/platform/redox/socket.rs +++ b/src/platform/redox/socket.rs @@ -13,6 +13,7 @@ use crate::{ error::{Errno, Result}, header::{ arpa_inet::inet_aton, + bits_socklen_t::socklen_t, errno::{ EAFNOSUPPORT, EDOM, EFAULT, EINVAL, EMSGSIZE, ENOMEM, ENOSYS, ENOTCONN, ENOTSOCK, EOPNOTSUPP, EPROTONOSUPPORT, @@ -22,7 +23,7 @@ use crate::{ sys_select::timeval, sys_socket::{ CMSG_ALIGN, CMSG_DATA, CMSG_FIRSTHDR, CMSG_LEN, CMSG_NXTHDR, CMSG_SPACE, cmsghdr, - constants::*, msghdr, sa_family_t, sockaddr, socklen_t, ucred, + constants::*, msghdr, sa_family_t, sockaddr, ucred, }, sys_uio::iovec, sys_un::sockaddr_un,