tmp.rs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. // bitflags! {
  2. // // #[derive(PartialEq, Eq, Debug, Clone, Copy)]
  3. // pub struct Options: u32 {
  4. // const DEBUG = 1;
  5. // const REUSEADDR = 2;
  6. // const TYPE = 3;
  7. // const ERROR = 4;
  8. // const DONTROUTE = 5;
  9. // const BROADCAST = 6;
  10. // const SNDBUF = 7;
  11. // const RCVBUF = 8;
  12. // const SNDBUFFORCE = 32;
  13. // const RCVBUFFORCE = 33;
  14. // const KEEPALIVE = 9;
  15. // const OOBINLINE = 10;
  16. // const NO_CHECK = 11;
  17. // const PRIORITY = 12;
  18. // const LINGER = 13;
  19. // const BSDCOMPAT = 14;
  20. // const REUSEPORT = 15;
  21. // const PASSCRED = 16;
  22. // const PEERCRED = 17;
  23. // const RCVLOWAT = 18;
  24. // const SNDLOWAT = 19;
  25. // const RCVTIMEO_OLD = 20;
  26. // const SNDTIMEO_OLD = 21;
  27. //
  28. // const SECURITY_AUTHENTICATION = 22;
  29. // const SECURITY_ENCRYPTION_TRANSPORT = 23;
  30. // const SECURITY_ENCRYPTION_NETWORK = 24;
  31. //
  32. // const BINDTODEVICE = 25;
  33. //
  34. // /// 与GET_FILTER相同
  35. // const ATTACH_FILTER = 26;
  36. // const DETACH_FILTER = 27;
  37. //
  38. // const PEERNAME = 28;
  39. //
  40. // const ACCEPTCONN = 30;
  41. //
  42. // const PEERSEC = 31;
  43. // const PASSSEC = 34;
  44. //
  45. // const MARK = 36;
  46. //
  47. // const PROTOCOL = 38;
  48. // const DOMAIN = 39;
  49. //
  50. // const RXQ_OVFL = 40;
  51. //
  52. // /// 与SCM_WIFI_STATUS相同
  53. // const WIFI_STATUS = 41;
  54. // const PEEK_OFF = 42;
  55. //
  56. // /* Instruct lower device to use last 4-bytes of skb data as FCS */
  57. // const NOFCS = 43;
  58. //
  59. // const LOCK_FILTER = 44;
  60. // const SELECT_ERR_QUEUE = 45;
  61. // const BUSY_POLL = 46;
  62. // const MAX_PACING_RATE = 47;
  63. // const BPF_EXTENSIONS = 48;
  64. // const INCOMING_CPU = 49;
  65. // const ATTACH_BPF = 50;
  66. // // DETACH_BPF = DETACH_FILTER;
  67. // const ATTACH_REUSEPORT_CBPF = 51;
  68. // const ATTACH_REUSEPORT_EBPF = 52;
  69. //
  70. // const CNX_ADVICE = 53;
  71. // const SCM_TIMESTAMPING_OPT_STATS = 54;
  72. // const MEMINFO = 55;
  73. // const INCOMING_NAPI_ID = 56;
  74. // const COOKIE = 57;
  75. // const SCM_TIMESTAMPING_PKTINFO = 58;
  76. // const PEERGROUPS = 59;
  77. // const ZEROCOPY = 60;
  78. // /// 与SCM_TXTIME相同
  79. // const TXTIME = 61;
  80. //
  81. // const BINDTOIFINDEX = 62;
  82. //
  83. // const TIMESTAMP_OLD = 29;
  84. // const TIMESTAMPNS_OLD = 35;
  85. // const TIMESTAMPING_OLD = 37;
  86. // const TIMESTAMP_NEW = 63;
  87. // const TIMESTAMPNS_NEW = 64;
  88. // const TIMESTAMPING_NEW = 65;
  89. //
  90. // const RCVTIMEO_NEW = 66;
  91. // const SNDTIMEO_NEW = 67;
  92. //
  93. // const DETACH_REUSEPORT_BPF = 68;
  94. //
  95. // const PREFER_BUSY_POLL = 69;
  96. // const BUSY_POLL_BUDGET = 70;
  97. //
  98. // const NETNS_COOKIE = 71;
  99. // const BUF_LOCK = 72;
  100. // const RESERVE_MEM = 73;
  101. // const TXREHASH = 74;
  102. // const RCVMARK = 75;
  103. // }
  104. // }
  105. // bitflags::bitflags! {
  106. // pub struct Level: i32 {
  107. // const SOL_SOCKET = 1;
  108. // const IPPROTO_IP = super::ip::Protocol::IP.bits();
  109. // const IPPROTO_IPV6 = super::ip::Protocol::IPv6.bits();
  110. // const IPPROTO_TCP = super::ip::Protocol::TCP.bits();
  111. // }
  112. // }
  113. // bitflags! {
  114. // /// @brief socket的选项
  115. // #[derive(Default)]
  116. // pub struct Options: u32 {
  117. // /// 是否阻塞
  118. // const BLOCK = 1 << 0;
  119. // /// 是否允许广播
  120. // const BROADCAST = 1 << 1;
  121. // /// 是否允许多播
  122. // const MULTICAST = 1 << 2;
  123. // /// 是否允许重用地址
  124. // const REUSEADDR = 1 << 3;
  125. // /// 是否允许重用端口
  126. // const REUSEPORT = 1 << 4;
  127. // }
  128. // }