/* Generated by ./xlat/gen.sh from ./xlat/inet_diag_extended_flags.in; do not edit. */

#include "gcc_compat.h"
#include "static_assert.h"


#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat inet_diag_extended_flags in mpers mode

# else

static
const struct xlat inet_diag_extended_flags[] = {
 XLAT(1<<(INET_DIAG_MEMINFO-1)),
 XLAT(1<<(INET_DIAG_INFO-1)),
 XLAT(1<<(INET_DIAG_VEGASINFO-1)),
 XLAT(1<<(INET_DIAG_CONG-1)),
 XLAT(1<<(INET_DIAG_TOS-1)),
 XLAT(1<<(INET_DIAG_TCLASS-1)),
 XLAT(1<<(INET_DIAG_SKMEMINFO-1)),
 XLAT(1<<(INET_DIAG_SHUTDOWN-1)),
 XLAT(1<<(INET_DIAG_DCTCPINFO-1)),
 XLAT(1<<(INET_DIAG_PROTOCOL-1)),
 XLAT(1<<(INET_DIAG_SKV6ONLY-1)),
 XLAT(1<<(INET_DIAG_LOCALS-1)),
 XLAT(1<<(INET_DIAG_PEERS-1)),
 XLAT(1<<(INET_DIAG_PAD-1)),
 XLAT(1<<(INET_DIAG_MARK-1)),
 XLAT(1<<(INET_DIAG_BBRINFO-1)),
 XLAT(1<<(INET_DIAG_CLASS_ID-1)),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
