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

static const struct xlat direnttypes[] = {
#if defined(DT_UNKNOWN) || (defined(HAVE_DECL_DT_UNKNOWN) && HAVE_DECL_DT_UNKNOWN)
 XLAT(DT_UNKNOWN),
#endif
#if defined(DT_FIFO) || (defined(HAVE_DECL_DT_FIFO) && HAVE_DECL_DT_FIFO)
 XLAT(DT_FIFO),
#endif
#if defined(DT_CHR) || (defined(HAVE_DECL_DT_CHR) && HAVE_DECL_DT_CHR)
 XLAT(DT_CHR),
#endif
#if defined(DT_DIR) || (defined(HAVE_DECL_DT_DIR) && HAVE_DECL_DT_DIR)
 XLAT(DT_DIR),
#endif
#if defined(DT_BLK) || (defined(HAVE_DECL_DT_BLK) && HAVE_DECL_DT_BLK)
 XLAT(DT_BLK),
#endif
#if defined(DT_REG) || (defined(HAVE_DECL_DT_REG) && HAVE_DECL_DT_REG)
 XLAT(DT_REG),
#endif
#if defined(DT_LNK) || (defined(HAVE_DECL_DT_LNK) && HAVE_DECL_DT_LNK)
 XLAT(DT_LNK),
#endif
#if defined(DT_SOCK) || (defined(HAVE_DECL_DT_SOCK) && HAVE_DECL_DT_SOCK)
 XLAT(DT_SOCK),
#endif
#if defined(DT_WHT) || (defined(HAVE_DECL_DT_WHT) && HAVE_DECL_DT_WHT)
 XLAT(DT_WHT),
#endif
 XLAT_END
};
