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

#ifdef IN_MPERS

extern const struct xlat v4l2_buf_flags[];

#else

# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
# endif
const struct xlat v4l2_buf_flags[] = {
#if defined(V4L2_BUF_FLAG_MAPPED) || (defined(HAVE_DECL_V4L2_BUF_FLAG_MAPPED) && HAVE_DECL_V4L2_BUF_FLAG_MAPPED)
  XLAT(V4L2_BUF_FLAG_MAPPED),
#endif
#if defined(V4L2_BUF_FLAG_QUEUED) || (defined(HAVE_DECL_V4L2_BUF_FLAG_QUEUED) && HAVE_DECL_V4L2_BUF_FLAG_QUEUED)
  XLAT(V4L2_BUF_FLAG_QUEUED),
#endif
#if defined(V4L2_BUF_FLAG_DONE) || (defined(HAVE_DECL_V4L2_BUF_FLAG_DONE) && HAVE_DECL_V4L2_BUF_FLAG_DONE)
  XLAT(V4L2_BUF_FLAG_DONE),
#endif
#if defined(V4L2_BUF_FLAG_KEYFRAME) || (defined(HAVE_DECL_V4L2_BUF_FLAG_KEYFRAME) && HAVE_DECL_V4L2_BUF_FLAG_KEYFRAME)
  XLAT(V4L2_BUF_FLAG_KEYFRAME),
#endif
#if defined(V4L2_BUF_FLAG_PFRAME) || (defined(HAVE_DECL_V4L2_BUF_FLAG_PFRAME) && HAVE_DECL_V4L2_BUF_FLAG_PFRAME)
  XLAT(V4L2_BUF_FLAG_PFRAME),
#endif
#if defined(V4L2_BUF_FLAG_BFRAME) || (defined(HAVE_DECL_V4L2_BUF_FLAG_BFRAME) && HAVE_DECL_V4L2_BUF_FLAG_BFRAME)
  XLAT(V4L2_BUF_FLAG_BFRAME),
#endif
#if defined(V4L2_BUF_FLAG_TIMECODE) || (defined(HAVE_DECL_V4L2_BUF_FLAG_TIMECODE) && HAVE_DECL_V4L2_BUF_FLAG_TIMECODE)
  XLAT(V4L2_BUF_FLAG_TIMECODE),
#endif
#if defined(V4L2_BUF_FLAG_INPUT) || (defined(HAVE_DECL_V4L2_BUF_FLAG_INPUT) && HAVE_DECL_V4L2_BUF_FLAG_INPUT)
  XLAT(V4L2_BUF_FLAG_INPUT),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
