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

static const struct xlat access_flags[] = {
#if defined(F_OK) || (defined(HAVE_DECL_F_OK) && HAVE_DECL_F_OK)
 XLAT(F_OK),
#endif
#if defined(R_OK) || (defined(HAVE_DECL_R_OK) && HAVE_DECL_R_OK)
 XLAT(R_OK),
#endif
#if defined(W_OK) || (defined(HAVE_DECL_W_OK) && HAVE_DECL_W_OK)
 XLAT(W_OK),
#endif
#if defined(X_OK) || (defined(HAVE_DECL_X_OK) && HAVE_DECL_X_OK)
 XLAT(X_OK),
#endif
#if defined(EFF_ONLY_OK) || (defined(HAVE_DECL_EFF_ONLY_OK) && HAVE_DECL_EFF_ONLY_OK)
 XLAT(EFF_ONLY_OK),
#endif
#if defined(EX_OK) || (defined(HAVE_DECL_EX_OK) && HAVE_DECL_EX_OK)
 XLAT(EX_OK),
#endif
 XLAT_END
};
