libc/new/bionic_libc/sys/
socket.rs1use crate::prelude::*;
4
5s! {
6 pub struct msghdr {
7 pub msg_name: *mut c_void,
8 pub msg_namelen: crate::socklen_t,
9 pub msg_iov: *mut crate::iovec,
10 pub msg_iovlen: size_t,
11 pub msg_control: *mut c_void,
12 pub msg_controllen: size_t,
13 pub msg_flags: c_int,
14 }
15
16 pub struct cmsghdr {
17 pub cmsg_len: size_t,
18 pub cmsg_level: c_int,
19 pub cmsg_type: c_int,
20 }
21
22 pub struct ucred {
23 pub pid: crate::pid_t,
24 pub uid: crate::uid_t,
25 pub gid: crate::gid_t,
26 }
27}
28
29extern "C" {
30 pub fn recvmmsg(
31 sockfd: c_int,
32 msgvec: *mut crate::mmsghdr,
33 vlen: c_uint,
34 flags: c_int,
35 timeout: *const crate::timespec,
36 ) -> c_int;
37 pub fn sendmmsg(
38 sockfd: c_int,
39 msgvec: *const crate::mmsghdr,
40 vlen: c_uint,
41 flags: c_int,
42 ) -> c_int;
43 pub fn recvfrom(
44 socket: c_int,
45 buf: *mut c_void,
46 len: size_t,
47 flags: c_int,
48 addr: *mut crate::sockaddr,
49 addrlen: *mut crate::socklen_t,
50 ) -> ssize_t;
51}