Skip to content

Commit bf574cf

Browse files
committed
Auto merge of #2135 - zonyitoo:master, r=<try>
Unified all Linux sockopts definitions by arch - ref rust-lang/socket2#213 Fixes #2133
2 parents 3a31a5f + 682eba6 commit bf574cf

File tree

34 files changed

+400
-1037
lines changed

34 files changed

+400
-1037
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
// include/uapi/asm-generic/socket.h
2+
// arch/alpha/include/uapi/asm/socket.h
3+
// tools/include/uapi/asm-generic/socket.h
4+
// arch/mips/include/uapi/asm/socket.h
5+
pub const SOL_SOCKET: ::c_int = 1;
6+
7+
// Defined in unix/linux_like/mod.rs
8+
// pub const SO_DEBUG: ::c_int = 1;
9+
pub const SO_REUSEADDR: ::c_int = 2;
10+
pub const SO_TYPE: ::c_int = 3;
11+
pub const SO_ERROR: ::c_int = 4;
12+
pub const SO_DONTROUTE: ::c_int = 5;
13+
pub const SO_BROADCAST: ::c_int = 6;
14+
pub const SO_SNDBUF: ::c_int = 7;
15+
pub const SO_RCVBUF: ::c_int = 8;
16+
pub const SO_KEEPALIVE: ::c_int = 9;
17+
pub const SO_OOBINLINE: ::c_int = 10;
18+
pub const SO_NO_CHECK: ::c_int = 11;
19+
pub const SO_PRIORITY: ::c_int = 12;
20+
pub const SO_LINGER: ::c_int = 13;
21+
pub const SO_BSDCOMPAT: ::c_int = 14;
22+
pub const SO_REUSEPORT: ::c_int = 15;
23+
pub const SO_PASSCRED: ::c_int = 16;
24+
pub const SO_PEERCRED: ::c_int = 17;
25+
pub const SO_RCVLOWAT: ::c_int = 18;
26+
pub const SO_SNDLOWAT: ::c_int = 19;
27+
pub const SO_RCVTIMEO: ::c_int = 20;
28+
pub const SO_SNDTIMEO: ::c_int = 21;
29+
// pub const SO_RCVTIMEO_OLD: ::c_int = 20;
30+
// pub const SO_SNDTIMEO_OLD: ::c_int = 21;
31+
pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22;
32+
pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23;
33+
pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24;
34+
pub const SO_BINDTODEVICE: ::c_int = 25;
35+
pub const SO_ATTACH_FILTER: ::c_int = 26;
36+
pub const SO_DETACH_FILTER: ::c_int = 27;
37+
pub const SO_GET_FILTER: ::c_int = SO_ATTACH_FILTER;
38+
pub const SO_PEERNAME: ::c_int = 28;
39+
pub const SO_TIMESTAMP: ::c_int = 29;
40+
// pub const SO_TIMESTAMP_OLD: ::c_int = 29;
41+
pub const SO_ACCEPTCONN: ::c_int = 30;
42+
pub const SO_PEERSEC: ::c_int = 31;
43+
pub const SO_SNDBUFFORCE: ::c_int = 32;
44+
pub const SO_RCVBUFFORCE: ::c_int = 33;
45+
pub const SO_PASSSEC: ::c_int = 34;
46+
pub const SO_TIMESTAMPNS: ::c_int = 35;
47+
// pub const SO_TIMESTAMPNS_OLD: ::c_int = 35;
48+
pub const SO_MARK: ::c_int = 36;
49+
pub const SO_TIMESTAMPING: ::c_int = 37;
50+
// pub const SO_TIMESTAMPING_OLD: ::c_int = 37;
51+
pub const SO_PROTOCOL: ::c_int = 38;
52+
pub const SO_DOMAIN: ::c_int = 39;
53+
pub const SO_RXQ_OVFL: ::c_int = 40;
54+
pub const SO_WIFI_STATUS: ::c_int = 41;
55+
pub const SCM_WIFI_STATUS: ::c_int = SO_WIFI_STATUS;
56+
pub const SO_PEEK_OFF: ::c_int = 42;
57+
pub const SO_NOFCS: ::c_int = 43;
58+
pub const SO_LOCK_FILTER: ::c_int = 44;
59+
pub const SO_SELECT_ERR_QUEUE: ::c_int = 45;
60+
pub const SO_BUSY_POLL: ::c_int = 46;
61+
pub const SO_MAX_PACING_RATE: ::c_int = 47;
62+
pub const SO_BPF_EXTENSIONS: ::c_int = 48;
63+
pub const SO_INCOMING_CPU: ::c_int = 49;
64+
pub const SO_ATTACH_BPF: ::c_int = 50;
65+
pub const SO_DETACH_BPF: ::c_int = SO_DETACH_FILTER;
66+
pub const SO_ATTACH_REUSEPORT_CBPF: ::c_int = 51;
67+
pub const SO_ATTACH_REUSEPORT_EBPF: ::c_int = 52;
68+
pub const SO_CNX_ADVICE: ::c_int = 53;
69+
pub const SCM_TIMESTAMPING_OPT_STATS: ::c_int = 54;
70+
pub const SO_MEMINFO: ::c_int = 55;
71+
pub const SO_INCOMING_NAPI_ID: ::c_int = 56;
72+
pub const SO_COOKIE: ::c_int = 57;
73+
pub const SCM_TIMESTAMPING_PKTINFO: ::c_int = 58;
74+
pub const SO_PEERGROUPS: ::c_int = 59;
75+
pub const SO_ZEROCOPY: ::c_int = 60;
76+
pub const SO_TXTIME: ::c_int = 61;
77+
pub const SCM_TXTIME: ::c_int = SO_TXTIME;
78+
pub const SO_BINDTOIFINDEX: ::c_int = 62;
79+
cfg_if! {
80+
// Some of these platforms in CI already have these constants.
81+
// But they may still not have those _OLD ones.
82+
if #[cfg(all(any(target_arch = "x86",
83+
target_arch = "x86_64",
84+
target_arch = "aarch64"),
85+
not(target_env = "musl")))] {
86+
pub const SO_TIMESTAMP_NEW: ::c_int = 63;
87+
pub const SO_TIMESTAMPNS_NEW: ::c_int = 64;
88+
pub const SO_TIMESTAMPING_NEW: ::c_int = 65;
89+
pub const SO_RCVTIMEO_NEW: ::c_int = 66;
90+
pub const SO_SNDTIMEO_NEW: ::c_int = 67;
91+
pub const SO_DETACH_REUSEPORT_BPF: ::c_int = 68;
92+
}
93+
}
94+
// pub const SO_PREFER_BUSY_POLL: ::c_int = 69;
95+
// pub const SO_BUSY_POLL_BUDGET: ::c_int = 70;
96+
97+
// Defined in unix/linux_like/mod.rs
98+
// pub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP;
99+
pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS;
100+
pub const SCM_TIMESTAMPING: ::c_int = SO_TIMESTAMPING;
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
// arch/mips/include/uapi/asm/socket.h
2+
pub const SOL_SOCKET: ::c_int = 0xffff;
3+
4+
// Defined in unix/linux_like/mod.rs
5+
// pub const SO_DEBUG: ::c_int = 0x0001;
6+
pub const SO_REUSEADDR: ::c_int = 0x0004;
7+
pub const SO_KEEPALIVE: ::c_int = 0x0008;
8+
pub const SO_DONTROUTE: ::c_int = 0x0010;
9+
pub const SO_BROADCAST: ::c_int = 0x0020;
10+
pub const SO_LINGER: ::c_int = 0x0080;
11+
pub const SO_OOBINLINE: ::c_int = 0x0100;
12+
pub const SO_REUSEPORT: ::c_int = 0x0200;
13+
pub const SO_TYPE: ::c_int = 0x1008;
14+
// pub const SO_STYLE: ::c_int = SO_TYPE;
15+
pub const SO_ERROR: ::c_int = 0x1007;
16+
pub const SO_SNDBUF: ::c_int = 0x1001;
17+
pub const SO_RCVBUF: ::c_int = 0x1002;
18+
pub const SO_SNDLOWAT: ::c_int = 0x1003;
19+
pub const SO_RCVLOWAT: ::c_int = 0x1004;
20+
// NOTE: These definitions are now being renamed with _OLD postfix,
21+
// but CI haven't support them yet.
22+
// Some related consts could be found in b32.rs and b64.rs
23+
pub const SO_SNDTIMEO: ::c_int = 0x1005;
24+
pub const SO_RCVTIMEO: ::c_int = 0x1006;
25+
// pub const SO_SNDTIMEO_OLD: ::c_int = 0x1005;
26+
// pub const SO_RCVTIMEO_OLD: ::c_int = 0x1006;
27+
pub const SO_ACCEPTCONN: ::c_int = 0x1009;
28+
pub const SO_PROTOCOL: ::c_int = 0x1028;
29+
pub const SO_DOMAIN: ::c_int = 0x1029;
30+
31+
pub const SO_NO_CHECK: ::c_int = 11;
32+
pub const SO_PRIORITY: ::c_int = 12;
33+
pub const SO_BSDCOMPAT: ::c_int = 14;
34+
pub const SO_PASSCRED: ::c_int = 17;
35+
pub const SO_PEERCRED: ::c_int = 18;
36+
pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22;
37+
pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23;
38+
pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24;
39+
pub const SO_BINDTODEVICE: ::c_int = 25;
40+
pub const SO_ATTACH_FILTER: ::c_int = 26;
41+
pub const SO_DETACH_FILTER: ::c_int = 27;
42+
pub const SO_GET_FILTER: ::c_int = SO_ATTACH_FILTER;
43+
pub const SO_PEERNAME: ::c_int = 28;
44+
pub const SO_PEERSEC: ::c_int = 30;
45+
pub const SO_SNDBUFFORCE: ::c_int = 31;
46+
pub const SO_RCVBUFFORCE: ::c_int = 33;
47+
pub const SO_PASSSEC: ::c_int = 34;
48+
pub const SO_MARK: ::c_int = 36;
49+
pub const SO_RXQ_OVFL: ::c_int = 40;
50+
pub const SO_WIFI_STATUS: ::c_int = 41;
51+
pub const SCM_WIFI_STATUS: ::c_int = SO_WIFI_STATUS;
52+
pub const SO_PEEK_OFF: ::c_int = 42;
53+
pub const SO_NOFCS: ::c_int = 43;
54+
pub const SO_LOCK_FILTER: ::c_int = 44;
55+
pub const SO_SELECT_ERR_QUEUE: ::c_int = 45;
56+
pub const SO_BUSY_POLL: ::c_int = 46;
57+
pub const SO_MAX_PACING_RATE: ::c_int = 47;
58+
pub const SO_BPF_EXTENSIONS: ::c_int = 48;
59+
pub const SO_INCOMING_CPU: ::c_int = 49;
60+
pub const SO_ATTACH_BPF: ::c_int = 50;
61+
pub const SO_DETACH_BPF: ::c_int = SO_DETACH_FILTER;
62+
pub const SO_ATTACH_REUSEPORT_CBPF: ::c_int = 51;
63+
pub const SO_ATTACH_REUSEPORT_EBPF: ::c_int = 52;
64+
pub const SO_CNX_ADVICE: ::c_int = 53;
65+
pub const SCM_TIMESTAMPING_OPT_STATS: ::c_int = 54;
66+
pub const SO_MEMINFO: ::c_int = 55;
67+
pub const SO_INCOMING_NAPI_ID: ::c_int = 56;
68+
pub const SO_COOKIE: ::c_int = 57;
69+
pub const SCM_TIMESTAMPING_PKTINFO: ::c_int = 58;
70+
pub const SO_PEERGROUPS: ::c_int = 59;
71+
pub const SO_ZEROCOPY: ::c_int = 60;
72+
pub const SO_TXTIME: ::c_int = 61;
73+
pub const SCM_TXTIME: ::c_int = SO_TXTIME;
74+
pub const SO_BINDTOIFINDEX: ::c_int = 62;
75+
// NOTE: These definitions are now being renamed with _OLD postfix,
76+
// but CI haven't support them yet.
77+
// Some related consts could be found in b32.rs and b64.rs
78+
pub const SO_TIMESTAMP: ::c_int = 29;
79+
pub const SO_TIMESTAMPNS: ::c_int = 35;
80+
pub const SO_TIMESTAMPING: ::c_int = 37;
81+
// pub const SO_TIMESTAMP_OLD: ::c_int = 29;
82+
// pub const SO_TIMESTAMPNS_OLD: ::c_int = 35;
83+
// pub const SO_TIMESTAMPING_OLD: ::c_int = 37;
84+
// pub const SO_TIMESTAMP_NEW: ::c_int = 63;
85+
// pub const SO_TIMESTAMPNS_NEW: ::c_int = 64;
86+
// pub const SO_TIMESTAMPING_NEW: ::c_int = 65;
87+
// pub const SO_RCVTIMEO_NEW: ::c_int = 66;
88+
// pub const SO_SNDTIMEO_NEW: ::c_int = 67;
89+
// pub const SO_DETACH_REUSEPORT_BPF: ::c_int = 68;
90+
// pub const SO_PREFER_BUSY_POLL: ::c_int = 69;
91+
// pub const SO_BUSY_POLL_BUDGET: ::c_int = 70;
92+
93+
// Defined in unix/linux_like/mod.rs
94+
// pub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP;
95+
pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS;
96+
pub const SCM_TIMESTAMPING: ::c_int = SO_TIMESTAMPING;

src/unix/linux_like/linux/arch/mod.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
cfg_if! {
2+
if #[cfg(any(target_arch = "mips", target_arch = "mips64"))] {
3+
mod mips;
4+
pub use self::mips::*;
5+
} else if #[cfg(any(target_arch = "powerpc", target_arch = "powerpc64"))] {
6+
mod powerpc;
7+
pub use self::powerpc::*;
8+
} else if #[cfg(any(target_arch = "sparc", target_arch = "sparc64"))] {
9+
mod sparc;
10+
pub use self::sparc::*;
11+
} else {
12+
mod generic;
13+
pub use self::generic::*;
14+
}
15+
}
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
// arch/powerpc/include/uapi/asm/socket.h
2+
3+
pub const SOL_SOCKET: ::c_int = 1;
4+
5+
// Defined in unix/linux_like/mod.rs
6+
// pub const SO_DEBUG: ::c_int = 1;
7+
pub const SO_REUSEADDR: ::c_int = 2;
8+
pub const SO_TYPE: ::c_int = 3;
9+
pub const SO_ERROR: ::c_int = 4;
10+
pub const SO_DONTROUTE: ::c_int = 5;
11+
pub const SO_BROADCAST: ::c_int = 6;
12+
pub const SO_SNDBUF: ::c_int = 7;
13+
pub const SO_RCVBUF: ::c_int = 8;
14+
pub const SO_KEEPALIVE: ::c_int = 9;
15+
pub const SO_OOBINLINE: ::c_int = 10;
16+
pub const SO_NO_CHECK: ::c_int = 11;
17+
pub const SO_PRIORITY: ::c_int = 12;
18+
pub const SO_LINGER: ::c_int = 13;
19+
pub const SO_BSDCOMPAT: ::c_int = 14;
20+
pub const SO_REUSEPORT: ::c_int = 15;
21+
// powerpc only differs in these
22+
pub const SO_RCVLOWAT: ::c_int = 16;
23+
pub const SO_SNDLOWAT: ::c_int = 17;
24+
pub const SO_RCVTIMEO: ::c_int = 18;
25+
pub const SO_SNDTIMEO: ::c_int = 19;
26+
// pub const SO_RCVTIMEO_OLD: ::c_int = 18;
27+
// pub const SO_SNDTIMEO_OLD: ::c_int = 19;
28+
pub const SO_PASSCRED: ::c_int = 20;
29+
pub const SO_PEERCRED: ::c_int = 21;
30+
// end
31+
pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22;
32+
pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23;
33+
pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24;
34+
pub const SO_BINDTODEVICE: ::c_int = 25;
35+
pub const SO_ATTACH_FILTER: ::c_int = 26;
36+
pub const SO_DETACH_FILTER: ::c_int = 27;
37+
pub const SO_GET_FILTER: ::c_int = SO_ATTACH_FILTER;
38+
pub const SO_PEERNAME: ::c_int = 28;
39+
pub const SO_TIMESTAMP: ::c_int = 29;
40+
// pub const SO_TIMESTAMP_OLD: ::c_int = 29;
41+
pub const SO_ACCEPTCONN: ::c_int = 30;
42+
pub const SO_PEERSEC: ::c_int = 31;
43+
pub const SO_SNDBUFFORCE: ::c_int = 32;
44+
pub const SO_RCVBUFFORCE: ::c_int = 33;
45+
pub const SO_PASSSEC: ::c_int = 34;
46+
pub const SO_TIMESTAMPNS: ::c_int = 35;
47+
// pub const SO_TIMESTAMPNS_OLD: ::c_int = 35;
48+
pub const SO_MARK: ::c_int = 36;
49+
pub const SO_TIMESTAMPING: ::c_int = 37;
50+
// pub const SO_TIMESTAMPING_OLD: ::c_int = 37;
51+
pub const SO_PROTOCOL: ::c_int = 38;
52+
pub const SO_DOMAIN: ::c_int = 39;
53+
pub const SO_RXQ_OVFL: ::c_int = 40;
54+
pub const SO_WIFI_STATUS: ::c_int = 41;
55+
pub const SCM_WIFI_STATUS: ::c_int = SO_WIFI_STATUS;
56+
pub const SO_PEEK_OFF: ::c_int = 42;
57+
pub const SO_NOFCS: ::c_int = 43;
58+
pub const SO_LOCK_FILTER: ::c_int = 44;
59+
pub const SO_SELECT_ERR_QUEUE: ::c_int = 45;
60+
pub const SO_BUSY_POLL: ::c_int = 46;
61+
pub const SO_MAX_PACING_RATE: ::c_int = 47;
62+
pub const SO_BPF_EXTENSIONS: ::c_int = 48;
63+
pub const SO_INCOMING_CPU: ::c_int = 49;
64+
pub const SO_ATTACH_BPF: ::c_int = 50;
65+
pub const SO_DETACH_BPF: ::c_int = SO_DETACH_FILTER;
66+
pub const SO_ATTACH_REUSEPORT_CBPF: ::c_int = 51;
67+
pub const SO_ATTACH_REUSEPORT_EBPF: ::c_int = 52;
68+
pub const SO_CNX_ADVICE: ::c_int = 53;
69+
pub const SCM_TIMESTAMPING_OPT_STATS: ::c_int = 54;
70+
pub const SO_MEMINFO: ::c_int = 55;
71+
pub const SO_INCOMING_NAPI_ID: ::c_int = 56;
72+
pub const SO_COOKIE: ::c_int = 57;
73+
pub const SCM_TIMESTAMPING_PKTINFO: ::c_int = 58;
74+
pub const SO_PEERGROUPS: ::c_int = 59;
75+
pub const SO_ZEROCOPY: ::c_int = 60;
76+
pub const SO_TXTIME: ::c_int = 61;
77+
pub const SCM_TXTIME: ::c_int = SO_TXTIME;
78+
pub const SO_BINDTOIFINDEX: ::c_int = 62;
79+
// pub const SO_TIMESTAMP_NEW: ::c_int = 63;
80+
// pub const SO_TIMESTAMPNS_NEW: ::c_int = 64;
81+
// pub const SO_TIMESTAMPING_NEW: ::c_int = 65;
82+
// pub const SO_RCVTIMEO_NEW: ::c_int = 66;
83+
// pub const SO_SNDTIMEO_NEW: ::c_int = 67;
84+
// pub const SO_DETACH_REUSEPORT_BPF: ::c_int = 68;
85+
// pub const SO_PREFER_BUSY_POLL: ::c_int = 69;
86+
// pub const SO_BUSY_POLL_BUDGET: ::c_int = 70;
87+
88+
// Defined in unix/linux_like/mod.rs
89+
// pub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP;
90+
pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS;
91+
pub const SCM_TIMESTAMPING: ::c_int = SO_TIMESTAMPING;
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
// arch/sparc/include/uapi/asm/socket.h
2+
pub const SOL_SOCKET: ::c_int = 0xffff;
3+
4+
// Defined in unix/linux_like/mod.rs
5+
// pub const SO_DEBUG: ::c_int = 0x0001;
6+
pub const SO_PASSCRED: ::c_int = 0x0002;
7+
pub const SO_REUSEADDR: ::c_int = 0x0004;
8+
pub const SO_KEEPALIVE: ::c_int = 0x0008;
9+
pub const SO_DONTROUTE: ::c_int = 0x0010;
10+
pub const SO_BROADCAST: ::c_int = 0x0020;
11+
pub const SO_PEERCRED: ::c_int = 0x0040;
12+
pub const SO_LINGER: ::c_int = 0x0080;
13+
pub const SO_OOBINLINE: ::c_int = 0x0100;
14+
pub const SO_REUSEPORT: ::c_int = 0x0200;
15+
pub const SO_BSDCOMPAT: ::c_int = 0x0400;
16+
pub const SO_RCVLOWAT: ::c_int = 0x0800;
17+
pub const SO_SNDLOWAT: ::c_int = 0x1000;
18+
pub const SO_RCVTIMEO: ::c_int = 0x2000;
19+
pub const SO_SNDTIMEO: ::c_int = 0x4000;
20+
// pub const SO_RCVTIMEO_OLD: ::c_int = 0x2000;
21+
// pub const SO_SNDTIMEO_OLD: ::c_int = 0x4000;
22+
pub const SO_ACCEPTCONN: ::c_int = 0x8000;
23+
pub const SO_SNDBUF: ::c_int = 0x1001;
24+
pub const SO_RCVBUF: ::c_int = 0x1002;
25+
pub const SO_SNDBUFFORCE: ::c_int = 0x100a;
26+
pub const SO_RCVBUFFORCE: ::c_int = 0x100b;
27+
pub const SO_ERROR: ::c_int = 0x1007;
28+
pub const SO_TYPE: ::c_int = 0x1008;
29+
pub const SO_PROTOCOL: ::c_int = 0x1028;
30+
pub const SO_DOMAIN: ::c_int = 0x1029;
31+
pub const SO_NO_CHECK: ::c_int = 0x000b;
32+
pub const SO_PRIORITY: ::c_int = 0x000c;
33+
pub const SO_BINDTODEVICE: ::c_int = 0x000d;
34+
pub const SO_ATTACH_FILTER: ::c_int = 0x001a;
35+
pub const SO_DETACH_FILTER: ::c_int = 0x001b;
36+
pub const SO_GET_FILTER: ::c_int = SO_ATTACH_FILTER;
37+
pub const SO_PEERNAME: ::c_int = 0x001c;
38+
pub const SO_PEERSEC: ::c_int = 0x001e;
39+
pub const SO_PASSSEC: ::c_int = 0x001f;
40+
pub const SO_MARK: ::c_int = 0x0022;
41+
pub const SO_RXQ_OVFL: ::c_int = 0x0024;
42+
pub const SO_WIFI_STATUS: ::c_int = 0x0025;
43+
pub const SCM_WIFI_STATUS: ::c_int = SO_WIFI_STATUS;
44+
pub const SO_PEEK_OFF: ::c_int = 0x0026;
45+
pub const SO_NOFCS: ::c_int = 0x0027;
46+
pub const SO_LOCK_FILTER: ::c_int = 0x0028;
47+
pub const SO_SELECT_ERR_QUEUE: ::c_int = 0x0029;
48+
pub const SO_BUSY_POLL: ::c_int = 0x0030;
49+
pub const SO_MAX_PACING_RATE: ::c_int = 0x0031;
50+
pub const SO_BPF_EXTENSIONS: ::c_int = 0x0032;
51+
pub const SO_INCOMING_CPU: ::c_int = 0x0033;
52+
pub const SO_ATTACH_BPF: ::c_int = 0x0034;
53+
pub const SO_DETACH_BPF: ::c_int = SO_DETACH_FILTER;
54+
pub const SO_ATTACH_REUSEPORT_CBPF: ::c_int = 0x0035;
55+
pub const SO_ATTACH_REUSEPORT_EBPF: ::c_int = 0x0036;
56+
pub const SO_CNX_ADVICE: ::c_int = 0x0037;
57+
pub const SCM_TIMESTAMPING_OPT_STATS: ::c_int = 0x0038;
58+
pub const SO_MEMINFO: ::c_int = 0x0039;
59+
pub const SO_INCOMING_NAPI_ID: ::c_int = 0x003a;
60+
pub const SO_COOKIE: ::c_int = 0x003b;
61+
pub const SCM_TIMESTAMPING_PKTINFO: ::c_int = 0x003c;
62+
pub const SO_PEERGROUPS: ::c_int = 0x003d;
63+
pub const SO_ZEROCOPY: ::c_int = 0x003e;
64+
pub const SO_TXTIME: ::c_int = 0x003f;
65+
pub const SCM_TXTIME: ::c_int = SO_TXTIME;
66+
pub const SO_BINDTOIFINDEX: ::c_int = 0x0041;
67+
pub const SO_SECURITY_AUTHENTICATION: ::c_int = 0x5001;
68+
pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 0x5002;
69+
pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 0x5004;
70+
pub const SO_TIMESTAMP: ::c_int = 0x001d;
71+
pub const SO_TIMESTAMPNS: ::c_int = 0x0021;
72+
pub const SO_TIMESTAMPING: ::c_int = 0x0023;
73+
// pub const SO_TIMESTAMP_OLD: ::c_int = 0x001d;
74+
// pub const SO_TIMESTAMPNS_OLD: ::c_int = 0x0021;
75+
// pub const SO_TIMESTAMPING_OLD: ::c_int = 0x0023;
76+
// pub const SO_TIMESTAMP_NEW: ::c_int = 0x0046;
77+
// pub const SO_TIMESTAMPNS_NEW: ::c_int = 0x0042;
78+
// pub const SO_TIMESTAMPING_NEW: ::c_int = 0x0043;
79+
// pub const SO_RCVTIMEO_NEW: ::c_int = 0x0044;
80+
// pub const SO_SNDTIMEO_NEW: ::c_int = 0x0045;
81+
// pub const SO_DETACH_REUSEPORT_BPF: ::c_int = 0x0047;
82+
// pub const SO_PREFER_BUSY_POLL: ::c_int = 0x0048;
83+
// pub const SO_BUSY_POLL_BUDGET: ::c_int = 0x0049;
84+
85+
// Defined in unix/linux_like/mod.rs
86+
// pub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP;
87+
pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS;
88+
pub const SCM_TIMESTAMPING: ::c_int = SO_TIMESTAMPING;

0 commit comments

Comments
 (0)