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

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

#if defined(FF_STATUS_STOPPED) || (defined(HAVE_DECL_FF_STATUS_STOPPED) && HAVE_DECL_FF_STATUS_STOPPED)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((FF_STATUS_STOPPED) == (0x00), "FF_STATUS_STOPPED != 0x00");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define FF_STATUS_STOPPED 0x00
#endif
#if defined(FF_STATUS_PLAYING) || (defined(HAVE_DECL_FF_STATUS_PLAYING) && HAVE_DECL_FF_STATUS_PLAYING)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((FF_STATUS_PLAYING) == (0x01), "FF_STATUS_PLAYING != 0x01");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define FF_STATUS_PLAYING 0x01
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat evdev_ff_status in mpers mode

# else

static
const struct xlat evdev_ff_status[] = {
 [FF_STATUS_STOPPED] = XLAT(FF_STATUS_STOPPED),
 [FF_STATUS_PLAYING] = XLAT(FF_STATUS_PLAYING),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
