2015-03-10 21:18:41 +00:00
|
|
|
#include <endian.h>
|
|
|
|
|
2016-07-03 14:40:11 -04:00
|
|
|
struct msghdr {
|
2015-03-10 21:18:41 +00:00
|
|
|
void *msg_name;
|
|
|
|
socklen_t msg_namelen;
|
|
|
|
struct iovec *msg_iov;
|
|
|
|
#if __BYTE_ORDER == __BIG_ENDIAN
|
|
|
|
int __pad1, msg_iovlen;
|
|
|
|
#else
|
|
|
|
int msg_iovlen, __pad1;
|
|
|
|
#endif
|
|
|
|
void *msg_control;
|
|
|
|
#if __BYTE_ORDER == __BIG_ENDIAN
|
|
|
|
int __pad2;
|
|
|
|
socklen_t msg_controllen;
|
|
|
|
#else
|
|
|
|
socklen_t msg_controllen;
|
|
|
|
int __pad2;
|
|
|
|
#endif
|
|
|
|
int msg_flags;
|
|
|
|
};
|
|
|
|
|
2016-07-03 14:40:11 -04:00
|
|
|
struct cmsghdr {
|
2015-03-10 21:18:41 +00:00
|
|
|
#if __BYTE_ORDER == __BIG_ENDIAN
|
|
|
|
int __pad1;
|
|
|
|
socklen_t cmsg_len;
|
|
|
|
#else
|
|
|
|
socklen_t cmsg_len;
|
|
|
|
int __pad1;
|
|
|
|
#endif
|
|
|
|
int cmsg_level;
|
|
|
|
int cmsg_type;
|
|
|
|
};
|