/* 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

static const struct xlat_data msg_flags_xdata[] = {
 XLAT(MSG_OOB),
 #define XLAT_VAL_0 ((unsigned) (MSG_OOB))
 #define XLAT_STR_0 STRINGIFY(MSG_OOB)
 XLAT(MSG_PEEK),
 #define XLAT_VAL_1 ((unsigned) (MSG_PEEK))
 #define XLAT_STR_1 STRINGIFY(MSG_PEEK)
 XLAT(MSG_DONTROUTE),
 #define XLAT_VAL_2 ((unsigned) (MSG_DONTROUTE))
 #define XLAT_STR_2 STRINGIFY(MSG_DONTROUTE)

 XLAT(MSG_CTRUNC),
 #define XLAT_VAL_3 ((unsigned) (MSG_CTRUNC))
 #define XLAT_STR_3 STRINGIFY(MSG_CTRUNC)
 XLAT(MSG_PROBE),
 #define XLAT_VAL_4 ((unsigned) (MSG_PROBE))
 #define XLAT_STR_4 STRINGIFY(MSG_PROBE)
 XLAT(MSG_TRUNC),
 #define XLAT_VAL_5 ((unsigned) (MSG_TRUNC))
 #define XLAT_STR_5 STRINGIFY(MSG_TRUNC)
 XLAT(MSG_DONTWAIT),
 #define XLAT_VAL_6 ((unsigned) (MSG_DONTWAIT))
 #define XLAT_STR_6 STRINGIFY(MSG_DONTWAIT)
 XLAT(MSG_EOR),
 #define XLAT_VAL_7 ((unsigned) (MSG_EOR))
 #define XLAT_STR_7 STRINGIFY(MSG_EOR)
 XLAT(MSG_WAITALL),
 #define XLAT_VAL_8 ((unsigned) (MSG_WAITALL))
 #define XLAT_STR_8 STRINGIFY(MSG_WAITALL)
 XLAT(MSG_FIN),
 #define XLAT_VAL_9 ((unsigned) (MSG_FIN))
 #define XLAT_STR_9 STRINGIFY(MSG_FIN)
 XLAT(MSG_SYN),
 #define XLAT_VAL_10 ((unsigned) (MSG_SYN))
 #define XLAT_STR_10 STRINGIFY(MSG_SYN)
 XLAT(MSG_CONFIRM),
 #define XLAT_VAL_11 ((unsigned) (MSG_CONFIRM))
 #define XLAT_STR_11 STRINGIFY(MSG_CONFIRM)
 XLAT(MSG_RST),
 #define XLAT_VAL_12 ((unsigned) (MSG_RST))
 #define XLAT_STR_12 STRINGIFY(MSG_RST)
 XLAT(MSG_ERRQUEUE),
 #define XLAT_VAL_13 ((unsigned) (MSG_ERRQUEUE))
 #define XLAT_STR_13 STRINGIFY(MSG_ERRQUEUE)
 XLAT(MSG_NOSIGNAL),
 #define XLAT_VAL_14 ((unsigned) (MSG_NOSIGNAL))
 #define XLAT_STR_14 STRINGIFY(MSG_NOSIGNAL)
 XLAT(MSG_MORE),
 #define XLAT_VAL_15 ((unsigned) (MSG_MORE))
 #define XLAT_STR_15 STRINGIFY(MSG_MORE)
 XLAT(MSG_WAITFORONE),
 #define XLAT_VAL_16 ((unsigned) (MSG_WAITFORONE))
 #define XLAT_STR_16 STRINGIFY(MSG_WAITFORONE)
 XLAT(MSG_SENDPAGE_NOTLAST),
 #define XLAT_VAL_17 ((unsigned) (MSG_SENDPAGE_NOTLAST))
 #define XLAT_STR_17 STRINGIFY(MSG_SENDPAGE_NOTLAST)
 XLAT(MSG_BATCH),
 #define XLAT_VAL_18 ((unsigned) (MSG_BATCH))
 #define XLAT_STR_18 STRINGIFY(MSG_BATCH)
 XLAT(MSG_NO_SHARED_FRAGS),
 #define XLAT_VAL_19 ((unsigned) (MSG_NO_SHARED_FRAGS))
 #define XLAT_STR_19 STRINGIFY(MSG_NO_SHARED_FRAGS)
 XLAT(MSG_ZEROCOPY),
 #define XLAT_VAL_20 ((unsigned) (MSG_ZEROCOPY))
 #define XLAT_STR_20 STRINGIFY(MSG_ZEROCOPY)

 XLAT(MSG_FASTOPEN),
 #define XLAT_VAL_21 ((unsigned) (MSG_FASTOPEN))
 #define XLAT_STR_21 STRINGIFY(MSG_FASTOPEN)
 XLAT(MSG_CMSG_CLOEXEC),
 #define XLAT_VAL_22 ((unsigned) (MSG_CMSG_CLOEXEC))
 #define XLAT_STR_22 STRINGIFY(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),
 #define XLAT_VAL_23 ((unsigned) (MSG_CMSG_COMPAT))
 #define XLAT_STR_23 STRINGIFY(MSG_CMSG_COMPAT)
};
const struct xlat msg_flags[1] = { {
 .data = msg_flags_xdata,
 .size = ARRAY_SIZE(msg_flags_xdata),
 .type = XT_NORMAL,
 .flags_mask = 0
#  ifdef XLAT_VAL_0
  | XLAT_VAL_0
#  endif
#  ifdef XLAT_VAL_1
  | XLAT_VAL_1
#  endif
#  ifdef XLAT_VAL_2
  | XLAT_VAL_2
#  endif
#  ifdef XLAT_VAL_3
  | XLAT_VAL_3
#  endif
#  ifdef XLAT_VAL_4
  | XLAT_VAL_4
#  endif
#  ifdef XLAT_VAL_5
  | XLAT_VAL_5
#  endif
#  ifdef XLAT_VAL_6
  | XLAT_VAL_6
#  endif
#  ifdef XLAT_VAL_7
  | XLAT_VAL_7
#  endif
#  ifdef XLAT_VAL_8
  | XLAT_VAL_8
#  endif
#  ifdef XLAT_VAL_9
  | XLAT_VAL_9
#  endif
#  ifdef XLAT_VAL_10
  | XLAT_VAL_10
#  endif
#  ifdef XLAT_VAL_11
  | XLAT_VAL_11
#  endif
#  ifdef XLAT_VAL_12
  | XLAT_VAL_12
#  endif
#  ifdef XLAT_VAL_13
  | XLAT_VAL_13
#  endif
#  ifdef XLAT_VAL_14
  | XLAT_VAL_14
#  endif
#  ifdef XLAT_VAL_15
  | XLAT_VAL_15
#  endif
#  ifdef XLAT_VAL_16
  | XLAT_VAL_16
#  endif
#  ifdef XLAT_VAL_17
  | XLAT_VAL_17
#  endif
#  ifdef XLAT_VAL_18
  | XLAT_VAL_18
#  endif
#  ifdef XLAT_VAL_19
  | XLAT_VAL_19
#  endif
#  ifdef XLAT_VAL_20
  | XLAT_VAL_20
#  endif
#  ifdef XLAT_VAL_21
  | XLAT_VAL_21
#  endif
#  ifdef XLAT_VAL_22
  | XLAT_VAL_22
#  endif
#  ifdef XLAT_VAL_23
  | XLAT_VAL_23
#  endif
  ,
 .flags_strsz = 0
#  ifdef XLAT_STR_0
  + sizeof(XLAT_STR_0)
#  endif
#  ifdef XLAT_STR_1
  + sizeof(XLAT_STR_1)
#  endif
#  ifdef XLAT_STR_2
  + sizeof(XLAT_STR_2)
#  endif
#  ifdef XLAT_STR_3
  + sizeof(XLAT_STR_3)
#  endif
#  ifdef XLAT_STR_4
  + sizeof(XLAT_STR_4)
#  endif
#  ifdef XLAT_STR_5
  + sizeof(XLAT_STR_5)
#  endif
#  ifdef XLAT_STR_6
  + sizeof(XLAT_STR_6)
#  endif
#  ifdef XLAT_STR_7
  + sizeof(XLAT_STR_7)
#  endif
#  ifdef XLAT_STR_8
  + sizeof(XLAT_STR_8)
#  endif
#  ifdef XLAT_STR_9
  + sizeof(XLAT_STR_9)
#  endif
#  ifdef XLAT_STR_10
  + sizeof(XLAT_STR_10)
#  endif
#  ifdef XLAT_STR_11
  + sizeof(XLAT_STR_11)
#  endif
#  ifdef XLAT_STR_12
  + sizeof(XLAT_STR_12)
#  endif
#  ifdef XLAT_STR_13
  + sizeof(XLAT_STR_13)
#  endif
#  ifdef XLAT_STR_14
  + sizeof(XLAT_STR_14)
#  endif
#  ifdef XLAT_STR_15
  + sizeof(XLAT_STR_15)
#  endif
#  ifdef XLAT_STR_16
  + sizeof(XLAT_STR_16)
#  endif
#  ifdef XLAT_STR_17
  + sizeof(XLAT_STR_17)
#  endif
#  ifdef XLAT_STR_18
  + sizeof(XLAT_STR_18)
#  endif
#  ifdef XLAT_STR_19
  + sizeof(XLAT_STR_19)
#  endif
#  ifdef XLAT_STR_20
  + sizeof(XLAT_STR_20)
#  endif
#  ifdef XLAT_STR_21
  + sizeof(XLAT_STR_21)
#  endif
#  ifdef XLAT_STR_22
  + sizeof(XLAT_STR_22)
#  endif
#  ifdef XLAT_STR_23
  + sizeof(XLAT_STR_23)
#  endif
  ,
} };

#  undef XLAT_STR_0
#  undef XLAT_VAL_0
#  undef XLAT_STR_1
#  undef XLAT_VAL_1
#  undef XLAT_STR_2
#  undef XLAT_VAL_2
#  undef XLAT_STR_3
#  undef XLAT_VAL_3
#  undef XLAT_STR_4
#  undef XLAT_VAL_4
#  undef XLAT_STR_5
#  undef XLAT_VAL_5
#  undef XLAT_STR_6
#  undef XLAT_VAL_6
#  undef XLAT_STR_7
#  undef XLAT_VAL_7
#  undef XLAT_STR_8
#  undef XLAT_VAL_8
#  undef XLAT_STR_9
#  undef XLAT_VAL_9
#  undef XLAT_STR_10
#  undef XLAT_VAL_10
#  undef XLAT_STR_11
#  undef XLAT_VAL_11
#  undef XLAT_STR_12
#  undef XLAT_VAL_12
#  undef XLAT_STR_13
#  undef XLAT_VAL_13
#  undef XLAT_STR_14
#  undef XLAT_VAL_14
#  undef XLAT_STR_15
#  undef XLAT_VAL_15
#  undef XLAT_STR_16
#  undef XLAT_VAL_16
#  undef XLAT_STR_17
#  undef XLAT_VAL_17
#  undef XLAT_STR_18
#  undef XLAT_VAL_18
#  undef XLAT_STR_19
#  undef XLAT_VAL_19
#  undef XLAT_STR_20
#  undef XLAT_VAL_20
#  undef XLAT_STR_21
#  undef XLAT_VAL_21
#  undef XLAT_STR_22
#  undef XLAT_VAL_22
#  undef XLAT_STR_23
#  undef XLAT_VAL_23
# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
