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

#ifdef IN_MPERS

# error static const struct xlat ptp_flags_options in mpers mode

#else

static
const struct xlat ptp_flags_options[] = {
#if defined(PTP_ENABLE_FEATURE) || (defined(HAVE_DECL_PTP_ENABLE_FEATURE) && HAVE_DECL_PTP_ENABLE_FEATURE)
  XLAT(PTP_ENABLE_FEATURE),
#endif
#if defined(PTP_RISING_EDGE) || (defined(HAVE_DECL_PTP_RISING_EDGE) && HAVE_DECL_PTP_RISING_EDGE)
  XLAT(PTP_RISING_EDGE),
#endif
#if defined(PTP_FALLING_EDGE) || (defined(HAVE_DECL_PTP_FALLING_EDGE) && HAVE_DECL_PTP_FALLING_EDGE)
  XLAT(PTP_FALLING_EDGE),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
