socket.h 531 B

123456789101112131415161718192021222324252627282930313233
  1. #include <endian.h>
  2. struct msghdr {
  3. void *msg_name;
  4. socklen_t msg_namelen;
  5. struct iovec *msg_iov;
  6. #if __BYTE_ORDER == __BIG_ENDIAN
  7. int __pad1, msg_iovlen;
  8. #else
  9. int msg_iovlen, __pad1;
  10. #endif
  11. void *msg_control;
  12. #if __BYTE_ORDER == __BIG_ENDIAN
  13. int __pad2;
  14. socklen_t msg_controllen;
  15. #else
  16. socklen_t msg_controllen;
  17. int __pad2;
  18. #endif
  19. int msg_flags;
  20. };
  21. struct cmsghdr {
  22. #if __BYTE_ORDER == __BIG_ENDIAN
  23. int __pad1;
  24. socklen_t cmsg_len;
  25. #else
  26. socklen_t cmsg_len;
  27. int __pad1;
  28. #endif
  29. int cmsg_level;
  30. int cmsg_type;
  31. };