Lines Matching defs:libc

11 use libc::{
73 pub use libc::{cmsghdr, msghdr};
74 pub use libc::{sa_family_t, sockaddr, sockaddr_storage, sockaddr_un};
76 pub use libc::{sockaddr_in, sockaddr_in6};
80 pub use libc::{c_uint, CMSG_SPACE};
94 Stream = libc::SOCK_STREAM,
97 Datagram = libc::SOCK_DGRAM,
102 SeqPacket = libc::SOCK_SEQPACKET,
104 Raw = libc::SOCK_RAW,
108 Rdm = libc::SOCK_RDM,
118 libc::SOCK_STREAM => Ok(Self::Stream),
119 libc::SOCK_DGRAM => Ok(Self::Datagram),
120 libc::SOCK_SEQPACKET => Ok(Self::SeqPacket),
121 libc::SOCK_RAW => Ok(Self::Raw),
123 libc::SOCK_RDM => Ok(Self::Rdm),
136 Tcp = libc::IPPROTO_TCP,
138 Udp = libc::IPPROTO_UDP,
140 Raw = libc::IPPROTO_RAW,
145 KextEvent = libc::SYSPROTO_EVENT,
150 KextControl = libc::SYSPROTO_CONTROL,
156 NetlinkRoute = libc::NETLINK_ROUTE,
161 NetlinkUserSock = libc::NETLINK_USERSOCK,
166 NetlinkSockDiag = libc::NETLINK_SOCK_DIAG,
171 NetlinkSELinux = libc::NETLINK_SELINUX,
176 NetlinkISCSI = libc::NETLINK_ISCSI,
181 NetlinkAudit = libc::NETLINK_AUDIT,
186 NetlinkFIBLookup = libc::NETLINK_FIB_LOOKUP,
191 NetlinkNetFilter = libc::NETLINK_NETFILTER,
196 NetlinkSCSITransport = libc::NETLINK_SCSITRANSPORT,
201 NetlinkRDMA = libc::NETLINK_RDMA,
206 NetlinkIPv6Firewall = libc::NETLINK_IP6_FW,
211 NetlinkDECNetRoutingMessage = libc::NETLINK_DNRTMSG,
216 NetlinkKObjectUEvent = libc::NETLINK_KOBJECT_UEVENT,
222 NetlinkCrypto = libc::NETLINK_CRYPTO,
229 EthAll = libc::ETH_P_ALL.to_be(),
295 #[allow(deprecated)] // Suppress useless warnings from libc PR 2963
300 #[allow(deprecated)] // Suppress useless warnings from libc PR 2963
305 #[allow(deprecated)] // Suppress useless warnings from libc PR 2963
317 #[allow(deprecated)] // Suppress useless warnings from libc PR 2963
320 #[allow(deprecated)] // Suppress useless warnings from libc PR 2963
330 #[allow(deprecated)] // Suppress useless warnings from libc PR 2963
334 #[allow(deprecated)] // Suppress useless warnings from libc PR 2963
341 #[allow(deprecated)] // Suppress useless warnings from libc PR 2963
357 #[allow(deprecated)] // Suppress useless warnings from libc PR 2963
372 #[allow(deprecated)] // Suppress useless warnings from libc PR 2963
385 pub struct UnixCredentials(libc::ucred);
392 UnixCredentials(libc::ucred {
393 pid: libc::getpid(),
394 uid: libc::getuid(),
395 gid: libc::getgid()
401 pub fn pid(&self) -> libc::pid_t {
406 pub fn uid(&self) -> libc::uid_t {
411 pub fn gid(&self) -> libc::gid_t {
422 impl From<libc::ucred> for UnixCredentials {
423 fn from(cred: libc::ucred) -> Self {
428 impl From<UnixCredentials> for libc::ucred {
439 pub struct UnixCredentials(libc::cmsgcred);
443 pub fn pid(&self) -> libc::pid_t {
448 pub fn uid(&self) -> libc::uid_t {
453 pub fn euid(&self) -> libc::uid_t {
458 pub fn gid(&self) -> libc::gid_t {
463 pub fn groups(&self) -> &[libc::gid_t] {
466 self.0.cmcred_groups.as_ptr() as *const libc::gid_t,
473 impl From<libc::cmsgcred> for UnixCredentials {
474 fn from(cred: libc::cmsgcred) -> Self {
491 pub struct XuCred(libc::xucred);
500 pub fn uid(&self) -> libc::uid_t {
506 pub fn groups(&self) -> &[libc::gid_t] {
520 pub struct IpMembershipRequest(libc::ip_mreq);
533 IpMembershipRequest(libc::ip_mreq {
545 pub struct Ipv6MembershipRequest(libc::ipv6_mreq);
550 Ipv6MembershipRequest(libc::ipv6_mreq {
754 Ipv4PacketInfo(libc::in_pktinfo),
767 Ipv6PacketInfo(libc::in6_pktinfo),
777 Ipv4RecvIf(libc::sockaddr_dl),
787 Ipv4RecvDstAddr(libc::in_addr),
791 Ipv4OrigDstAddr(libc::sockaddr_in),
795 Ipv6OrigDstAddr(libc::sockaddr_in6),
826 Ipv4RecvErr(libc::sock_extended_err, Option<sockaddr_in>),
831 Ipv6RecvErr(libc::sock_extended_err, Option<sockaddr_in6>),
868 (libc::SOL_SOCKET, libc::SCM_RIGHTS) => {
878 (libc::SOL_SOCKET, libc::SCM_CREDENTIALS) => {
879 let cred: libc::ucred = ptr::read_unaligned(p as *const _);
883 (libc::SOL_SOCKET, libc::SCM_CREDS) => {
884 let cred: libc::cmsgcred = ptr::read_unaligned(p as *const _);
888 (libc::SOL_SOCKET, libc::SCM_TIMESTAMP) => {
889 let tv: libc::timeval = ptr::read_unaligned(p as *const _);
893 (libc::SOL_SOCKET, libc::SCM_TIMESTAMPNS) => {
894 let ts: libc::timespec = ptr::read_unaligned(p as *const _);
898 (libc::SOL_SOCKET, libc::SCM_TIMESTAMPING) => {
899 let tp = p as *const libc::timespec;
900 let ts: libc::timespec = ptr::read_unaligned(tp);
902 let ts: libc::timespec = ptr::read_unaligned(tp.add(1));
904 let ts: libc::timespec = ptr::read_unaligned(tp.add(2));
917 (libc::IPPROTO_IPV6, libc::IPV6_PKTINFO) => {
918 let info = ptr::read_unaligned(p as *const libc::in6_pktinfo);
929 (libc::IPPROTO_IP, libc::IP_PKTINFO) => {
930 let info = ptr::read_unaligned(p as *const libc::in_pktinfo);
941 (libc::IPPROTO_IP, libc::IP_RECVIF) => {
942 let dl = ptr::read_unaligned(p as *const libc::sockaddr_dl);
953 (libc::IPPROTO_IP, libc::IP_RECVDSTADDR) => {
954 let dl = ptr::read_unaligned(p as *const libc::in_addr);
959 (libc::IPPROTO_IP, libc::IP_ORIGDSTADDR) => {
960 let dl = ptr::read_unaligned(p as *const libc::sockaddr_in);
965 (libc::SOL_UDP, libc::UDP_GRO) => {
970 (libc::SOL_SOCKET, libc::SO_RXQ_OVFL) => {
976 (libc::IPPROTO_IP, libc::IP_RECVERR) => {
982 (libc::IPPROTO_IPV6, libc::IPV6_RECVERR) => {
988 (libc::IPPROTO_IPV6, libc::IPV6_ORIGDSTADDR) => {
989 let dl = ptr::read_unaligned(p as *const libc::sockaddr_in6);
1003 unsafe fn recv_err_helper<T>(p: *mut libc::c_uchar, len: usize) -> (libc::sock_extended_err, Option<T>) {
1004 let ee = p as *const libc::sock_extended_err;
1011 let addrp = libc::SO_EE_OFFENDER(ee) as *const T;
1090 AlgSetOp(&'a libc::c_int),
1127 Ipv4PacketInfo(&'a libc::in_pktinfo),
1141 Ipv6PacketInfo(&'a libc::in6_pktinfo),
1152 Ipv4SendSrcAddr(&'a libc::in_addr),
1181 unsafe{CMSG_SPACE(self.len() as libc::c_uint) as usize}
1189 unsafe{CMSG_LEN(self.len() as libc::c_uint) as usize}
1194 fn cmsg_len(&self) -> libc::c_uint {
1195 unsafe{CMSG_LEN(self.len() as libc::c_uint)}
1206 &creds.0 as *const libc::ucred as *const u8
1217 #[allow(deprecated)] // https://github.com/rust-lang/libc/issues/1501
1218 let af_alg_iv = libc::af_alg_iv {
1297 mem::size_of::<libc::cmsgcred>()
1342 fn cmsg_level(&self) -> libc::c_int {
1344 ControlMessage::ScmRights(_) => libc::SOL_SOCKET,
1346 ControlMessage::ScmCredentials(_) => libc::SOL_SOCKET,
1348 ControlMessage::ScmCreds => libc::SOL_SOCKET,
1351 ControlMessage::AlgSetAeadAssoclen(_) => libc::SOL_ALG,
1354 ControlMessage::UdpGsoSegments(_) => libc::SOL_UDP,
1359 ControlMessage::Ipv4PacketInfo(_) => libc::IPPROTO_IP,
1364 ControlMessage::Ipv6PacketInfo(_) => libc::IPPROTO_IPV6,
1368 ControlMessage::Ipv4SendSrcAddr(_) => libc::IPPROTO_IP,
1370 ControlMessage::RxqOvfl(_) => libc::SOL_SOCKET,
1372 ControlMessage::TxTime(_) => libc::SOL_SOCKET,
1377 fn cmsg_type(&self) -> libc::c_int {
1379 ControlMessage::ScmRights(_) => libc::SCM_RIGHTS,
1381 ControlMessage::ScmCredentials(_) => libc::SCM_CREDENTIALS,
1383 ControlMessage::ScmCreds => libc::SCM_CREDS,
1386 libc::ALG_SET_IV
1390 libc::ALG_SET_OP
1394 libc::ALG_SET_AEAD_ASSOCLEN
1399 libc::UDP_SEGMENT
1405 ControlMessage::Ipv4PacketInfo(_) => libc::IP_PKTINFO,
1410 ControlMessage::Ipv6PacketInfo(_) => libc::IPV6_PKTINFO,
1414 ControlMessage::Ipv4SendSrcAddr(_) => libc::IP_SENDSRCADDR,
1417 libc::SO_RXQ_OVFL
1421 libc::SCM_TXTIME
1487 let ret = unsafe { libc::sendmsg(fd, &mhdr, flags.bits()) };
1539 p.msg_iov = slice.as_ref().as_ptr() as *mut libc::iovec;
1562 libc::sendmmsg(
1589 items: Box<[libc::mmsghdr]>,
1632 libc::mmsghdr {
1693 p.msg_iov = slice.as_ref().as_ptr() as *mut libc::iovec;
1700 .map_or_else(std::ptr::null_mut, |t| t as *mut _ as *mut libc::timespec);
1703 libc::recvmmsg(
2062 let ret = unsafe { libc::recvmsg(fd, &mut mhdr, flags.bits()) };
2097 let res = unsafe { libc::socket(domain as c_int, ty, protocol) };
2125 libc::socketpair(domain as c_int, ty, protocol, fds.as_mut_ptr())
2136 let res = unsafe { libc::listen(sockfd, backlog as c_int) };
2145 let res = unsafe { libc::bind(fd, addr.as_ptr(), addr.len()) };
2154 let res = unsafe { libc::accept(sockfd, ptr::null_mut(), ptr::null_mut()) };
2182 libc::accept4(sockfd, ptr::null_mut(), ptr::null_mut(), flags.bits())
2192 let res = unsafe { libc::connect(fd, addr.as_ptr(), addr.len()) };
2203 let ret = libc::recv(
2227 let ret = Errno::result(libc::recvfrom(
2232 addr.as_mut_ptr() as *mut libc::sockaddr,
2239 addr.assume_init().as_ptr() as *const libc::sockaddr,
2256 libc::sendto(
2274 libc::send(
2347 let ret = libc::getpeername(
2349 addr.as_mut_ptr() as *mut libc::sockaddr,
2367 let ret = libc::getsockname(
2369 addr.as_mut_ptr() as *mut libc::sockaddr,
2403 libc::AF_INET => {
2411 libc::AF_INET6 => {
2416 libc::AF_UNIX => unsafe {
2423 libc::AF_PACKET => {
2424 use libc::sockaddr_ll;
2433 libc::AF_NETLINK => {
2434 use libc::sockaddr_nl;
2439 libc::AF_ALG => {
2440 use libc::sockaddr_alg;
2445 libc::AF_VSOCK => {
2446 use libc::sockaddr_vm;
2469 use libc::shutdown;
2472 Shutdown::Read => libc::SHUT_RD,
2473 Shutdown::Write => libc::SHUT_WR,
2474 Shutdown::Both => libc::SHUT_RDWR,