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

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

#if defined(PTRACE_PEEKSIGINFO_SHARED) || (defined(HAVE_DECL_PTRACE_PEEKSIGINFO_SHARED) && HAVE_DECL_PTRACE_PEEKSIGINFO_SHARED)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((PTRACE_PEEKSIGINFO_SHARED) == (1), "PTRACE_PEEKSIGINFO_SHARED != 1");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define PTRACE_PEEKSIGINFO_SHARED 1
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat ptrace_peeksiginfo_flags in mpers mode

# else

static
const struct xlat ptrace_peeksiginfo_flags[] = {
 XLAT(PTRACE_PEEKSIGINFO_SHARED),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
