socket.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. struct msghdr {
  2. void *msg_name;
  3. socklen_t msg_namelen;
  4. struct iovec *msg_iov;
  5. #if __BYTE_ORDER == __BIG_ENDIAN
  6. int __pad1, msg_iovlen;
  7. #else
  8. int msg_iovlen, __pad1;
  9. #endif
  10. void *msg_control;
  11. #if __BYTE_ORDER == __BIG_ENDIAN
  12. int __pad2;
  13. socklen_t msg_controllen;
  14. #else
  15. socklen_t msg_controllen;
  16. int __pad2;
  17. #endif
  18. int msg_flags;
  19. };
  20. struct cmsghdr {
  21. #if __BYTE_ORDER == __BIG_ENDIAN
  22. int __pad1;
  23. socklen_t cmsg_len;
  24. #else
  25. socklen_t cmsg_len;
  26. int __pad1;
  27. #endif
  28. int cmsg_level;
  29. int cmsg_type;
  30. };
  31. #define SO_DEBUG 1
  32. #define SO_REUSEADDR 2
  33. #define SO_TYPE 3
  34. #define SO_ERROR 4
  35. #define SO_DONTROUTE 5
  36. #define SO_BROADCAST 6
  37. #define SO_SNDBUF 7
  38. #define SO_RCVBUF 8
  39. #define SO_KEEPALIVE 9
  40. #define SO_OOBINLINE 10
  41. #define SO_NO_CHECK 11
  42. #define SO_PRIORITY 12
  43. #define SO_LINGER 13
  44. #define SO_BSDCOMPAT 14
  45. #define SO_REUSEPORT 15
  46. #define SO_RCVLOWAT 16
  47. #define SO_SNDLOWAT 17
  48. #define SO_RCVTIMEO 18
  49. #define SO_SNDTIMEO 19
  50. #define SO_PASSCRED 20
  51. #define SO_PEERCRED 21
  52. #define SO_ACCEPTCONN 30
  53. #define SO_PEERSEC 31
  54. #define SO_SNDBUFFORCE 32
  55. #define SO_RCVBUFFORCE 33
  56. #define SO_PROTOCOL 38
  57. #define SO_DOMAIN 39