huangcm
2025-08-25 f350412dc55c15118d0a7925d1071877498e5e24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
/* Generated by ./xlat/gen.sh from ./xlat/msg_flags.in; do not edit. */
 
#include "gcc_compat.h"
#include "static_assert.h"
 
#if defined(MSG_OOB) || (defined(HAVE_DECL_MSG_OOB) && HAVE_DECL_MSG_OOB)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_OOB) == (0x1), "MSG_OOB != 0x1");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_OOB 0x1
#endif
#if defined(MSG_PEEK) || (defined(HAVE_DECL_MSG_PEEK) && HAVE_DECL_MSG_PEEK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_PEEK) == (0x2), "MSG_PEEK != 0x2");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_PEEK 0x2
#endif
#if defined(MSG_DONTROUTE) || (defined(HAVE_DECL_MSG_DONTROUTE) && HAVE_DECL_MSG_DONTROUTE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_DONTROUTE) == (0x4), "MSG_DONTROUTE != 0x4");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_DONTROUTE 0x4
#endif
#if defined(MSG_CTRUNC) || (defined(HAVE_DECL_MSG_CTRUNC) && HAVE_DECL_MSG_CTRUNC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_CTRUNC) == (0x8), "MSG_CTRUNC != 0x8");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_CTRUNC 0x8
#endif
#if defined(MSG_PROBE) || (defined(HAVE_DECL_MSG_PROBE) && HAVE_DECL_MSG_PROBE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_PROBE) == (0x10), "MSG_PROBE != 0x10");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_PROBE 0x10
#endif
#if defined(MSG_TRUNC) || (defined(HAVE_DECL_MSG_TRUNC) && HAVE_DECL_MSG_TRUNC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_TRUNC) == (0x20), "MSG_TRUNC != 0x20");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_TRUNC 0x20
#endif
#if defined(MSG_DONTWAIT) || (defined(HAVE_DECL_MSG_DONTWAIT) && HAVE_DECL_MSG_DONTWAIT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_DONTWAIT) == (0x40), "MSG_DONTWAIT != 0x40");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_DONTWAIT 0x40
#endif
#if defined(MSG_EOR) || (defined(HAVE_DECL_MSG_EOR) && HAVE_DECL_MSG_EOR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_EOR) == (0x80), "MSG_EOR != 0x80");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_EOR 0x80
#endif
#if defined(MSG_WAITALL) || (defined(HAVE_DECL_MSG_WAITALL) && HAVE_DECL_MSG_WAITALL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_WAITALL) == (0x100), "MSG_WAITALL != 0x100");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_WAITALL 0x100
#endif
#if defined(MSG_FIN) || (defined(HAVE_DECL_MSG_FIN) && HAVE_DECL_MSG_FIN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_FIN) == (0x200), "MSG_FIN != 0x200");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_FIN 0x200
#endif
#if defined(MSG_SYN) || (defined(HAVE_DECL_MSG_SYN) && HAVE_DECL_MSG_SYN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_SYN) == (0x400), "MSG_SYN != 0x400");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_SYN 0x400
#endif
#if defined(MSG_CONFIRM) || (defined(HAVE_DECL_MSG_CONFIRM) && HAVE_DECL_MSG_CONFIRM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_CONFIRM) == (0x800), "MSG_CONFIRM != 0x800");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_CONFIRM 0x800
#endif
#if defined(MSG_RST) || (defined(HAVE_DECL_MSG_RST) && HAVE_DECL_MSG_RST)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_RST) == (0x1000), "MSG_RST != 0x1000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_RST 0x1000
#endif
#if defined(MSG_ERRQUEUE) || (defined(HAVE_DECL_MSG_ERRQUEUE) && HAVE_DECL_MSG_ERRQUEUE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_ERRQUEUE) == (0x2000), "MSG_ERRQUEUE != 0x2000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_ERRQUEUE 0x2000
#endif
#if defined(MSG_NOSIGNAL) || (defined(HAVE_DECL_MSG_NOSIGNAL) && HAVE_DECL_MSG_NOSIGNAL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_NOSIGNAL) == (0x4000), "MSG_NOSIGNAL != 0x4000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_NOSIGNAL 0x4000
#endif
#if defined(MSG_MORE) || (defined(HAVE_DECL_MSG_MORE) && HAVE_DECL_MSG_MORE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_MORE) == (0x8000), "MSG_MORE != 0x8000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_MORE 0x8000
#endif
#if defined(MSG_WAITFORONE) || (defined(HAVE_DECL_MSG_WAITFORONE) && HAVE_DECL_MSG_WAITFORONE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_WAITFORONE) == (0x10000), "MSG_WAITFORONE != 0x10000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_WAITFORONE 0x10000
#endif
#if defined(MSG_SENDPAGE_NOTLAST) || (defined(HAVE_DECL_MSG_SENDPAGE_NOTLAST) && HAVE_DECL_MSG_SENDPAGE_NOTLAST)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_SENDPAGE_NOTLAST) == (0x20000), "MSG_SENDPAGE_NOTLAST != 0x20000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_SENDPAGE_NOTLAST 0x20000
#endif
#if defined(MSG_BATCH) || (defined(HAVE_DECL_MSG_BATCH) && HAVE_DECL_MSG_BATCH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_BATCH) == (0x40000), "MSG_BATCH != 0x40000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_BATCH 0x40000
#endif
#if defined(MSG_NO_SHARED_FRAGS) || (defined(HAVE_DECL_MSG_NO_SHARED_FRAGS) && HAVE_DECL_MSG_NO_SHARED_FRAGS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_NO_SHARED_FRAGS) == (0x80000), "MSG_NO_SHARED_FRAGS != 0x80000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_NO_SHARED_FRAGS 0x80000
#endif
#if defined(MSG_ZEROCOPY) || (defined(HAVE_DECL_MSG_ZEROCOPY) && HAVE_DECL_MSG_ZEROCOPY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_ZEROCOPY) == (0x4000000), "MSG_ZEROCOPY != 0x4000000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_ZEROCOPY 0x4000000
#endif
#if defined(MSG_FASTOPEN) || (defined(HAVE_DECL_MSG_FASTOPEN) && HAVE_DECL_MSG_FASTOPEN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_FASTOPEN) == (0x20000000), "MSG_FASTOPEN != 0x20000000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_FASTOPEN 0x20000000
#endif
#if defined(MSG_CMSG_CLOEXEC) || (defined(HAVE_DECL_MSG_CMSG_CLOEXEC) && HAVE_DECL_MSG_CMSG_CLOEXEC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_CMSG_CLOEXEC) == (0x40000000), "MSG_CMSG_CLOEXEC != 0x40000000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_CMSG_CLOEXEC 0x40000000
#endif
#ifndef STRACE_WORKAROUND_FOR_MSG_CMSG_COMPAT
# define STRACE_WORKAROUND_FOR_MSG_CMSG_COMPAT
# undef MSG_CMSG_COMPAT
#endif
#if defined(MSG_CMSG_COMPAT) || (defined(HAVE_DECL_MSG_CMSG_COMPAT) && HAVE_DECL_MSG_CMSG_COMPAT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MSG_CMSG_COMPAT) == (0x80000000), "MSG_CMSG_COMPAT != 0x80000000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MSG_CMSG_COMPAT 0x80000000
#endif
 
#ifndef XLAT_MACROS_ONLY
 
# ifndef IN_MPERS
 
const struct xlat msg_flags[] = {
 XLAT(MSG_OOB),
 XLAT(MSG_PEEK),
 XLAT(MSG_DONTROUTE),
 
 XLAT(MSG_CTRUNC),
 XLAT(MSG_PROBE),
 XLAT(MSG_TRUNC),
 XLAT(MSG_DONTWAIT),
 XLAT(MSG_EOR),
 XLAT(MSG_WAITALL),
 XLAT(MSG_FIN),
 XLAT(MSG_SYN),
 XLAT(MSG_CONFIRM),
 XLAT(MSG_RST),
 XLAT(MSG_ERRQUEUE),
 XLAT(MSG_NOSIGNAL),
 XLAT(MSG_MORE),
 XLAT(MSG_WAITFORONE),
 XLAT(MSG_SENDPAGE_NOTLAST),
 XLAT(MSG_BATCH),
 XLAT(MSG_NO_SHARED_FRAGS),
 XLAT(MSG_ZEROCOPY),
 
 XLAT(MSG_FASTOPEN),
 XLAT(MSG_CMSG_CLOEXEC),
#ifndef STRACE_WORKAROUND_FOR_MSG_CMSG_COMPAT
# define STRACE_WORKAROUND_FOR_MSG_CMSG_COMPAT
/*
* In Linux, the value of MSG_CMSG_COMPAT depends on CONFIG_COMPAT,
* and libc might want to replicate that behaviour.
*/
# undef MSG_CMSG_COMPAT
#endif
 XLAT(MSG_CMSG_COMPAT),
 XLAT_END
};
 
# endif /* !IN_MPERS */
 
#endif /* !XLAT_MACROS_ONLY */