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

static const struct xlat modetypes[] = {
#if defined(S_IFREG) || (defined(HAVE_DECL_S_IFREG) && HAVE_DECL_S_IFREG)
 XLAT(S_IFREG),
#endif
#if defined(S_IFSOCK) || (defined(HAVE_DECL_S_IFSOCK) && HAVE_DECL_S_IFSOCK)
 XLAT(S_IFSOCK),
#endif
#if defined(S_IFIFO) || (defined(HAVE_DECL_S_IFIFO) && HAVE_DECL_S_IFIFO)
 XLAT(S_IFIFO),
#endif
#if defined(S_IFLNK) || (defined(HAVE_DECL_S_IFLNK) && HAVE_DECL_S_IFLNK)
 XLAT(S_IFLNK),
#endif
#if defined(S_IFDIR) || (defined(HAVE_DECL_S_IFDIR) && HAVE_DECL_S_IFDIR)
 XLAT(S_IFDIR),
#endif
#if defined(S_IFBLK) || (defined(HAVE_DECL_S_IFBLK) && HAVE_DECL_S_IFBLK)
 XLAT(S_IFBLK),
#endif
#if defined(S_IFCHR) || (defined(HAVE_DECL_S_IFCHR) && HAVE_DECL_S_IFCHR)
 XLAT(S_IFCHR),
#endif
 XLAT_END
};
