/* Generated by ./xlat/gen.sh from ./xlat/blkpg_ops.in; do not edit. */
#if !(defined(BLKPG_ADD_PARTITION) || (defined(HAVE_DECL_BLKPG_ADD_PARTITION) && HAVE_DECL_BLKPG_ADD_PARTITION))
# define BLKPG_ADD_PARTITION 1
#endif
#if !(defined(BLKPG_DEL_PARTITION) || (defined(HAVE_DECL_BLKPG_DEL_PARTITION) && HAVE_DECL_BLKPG_DEL_PARTITION))
# define BLKPG_DEL_PARTITION 2
#endif
#if !(defined(BLKPG_RESIZE_PARTITION) || (defined(HAVE_DECL_BLKPG_RESIZE_PARTITION) && HAVE_DECL_BLKPG_RESIZE_PARTITION))
# define BLKPG_RESIZE_PARTITION 3
#endif

#ifdef IN_MPERS

extern const struct xlat blkpg_ops[];

#else

# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
# endif
const struct xlat blkpg_ops[] = {
 XLAT(BLKPG_ADD_PARTITION),
 XLAT(BLKPG_DEL_PARTITION),
 XLAT(BLKPG_RESIZE_PARTITION),
 XLAT_END
};

#endif /* !IN_MPERS */
