/* 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
};
