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

static const struct xlat fan_event_flags[] = {
#if defined(FAN_ACCESS) || (defined(HAVE_DECL_FAN_ACCESS) && HAVE_DECL_FAN_ACCESS)
	XLAT(FAN_ACCESS),
#endif
#if defined(FAN_MODIFY) || (defined(HAVE_DECL_FAN_MODIFY) && HAVE_DECL_FAN_MODIFY)
	XLAT(FAN_MODIFY),
#endif
#if defined(FAN_CLOSE) || (defined(HAVE_DECL_FAN_CLOSE) && HAVE_DECL_FAN_CLOSE)
	XLAT(FAN_CLOSE),
#endif
#if defined(FAN_CLOSE_WRITE) || (defined(HAVE_DECL_FAN_CLOSE_WRITE) && HAVE_DECL_FAN_CLOSE_WRITE)
	XLAT(FAN_CLOSE_WRITE),
#endif
#if defined(FAN_CLOSE_NOWRITE) || (defined(HAVE_DECL_FAN_CLOSE_NOWRITE) && HAVE_DECL_FAN_CLOSE_NOWRITE)
	XLAT(FAN_CLOSE_NOWRITE),
#endif
#if defined(FAN_OPEN) || (defined(HAVE_DECL_FAN_OPEN) && HAVE_DECL_FAN_OPEN)
	XLAT(FAN_OPEN),
#endif
#if defined(FAN_Q_OVERFLOW) || (defined(HAVE_DECL_FAN_Q_OVERFLOW) && HAVE_DECL_FAN_Q_OVERFLOW)
	XLAT(FAN_Q_OVERFLOW),
#endif
#if defined(FAN_OPEN_PERM) || (defined(HAVE_DECL_FAN_OPEN_PERM) && HAVE_DECL_FAN_OPEN_PERM)
	XLAT(FAN_OPEN_PERM),
#endif
#if defined(FAN_ACCESS_PERM) || (defined(HAVE_DECL_FAN_ACCESS_PERM) && HAVE_DECL_FAN_ACCESS_PERM)
	XLAT(FAN_ACCESS_PERM),
#endif
#if defined(FAN_ONDIR) || (defined(HAVE_DECL_FAN_ONDIR) && HAVE_DECL_FAN_ONDIR)
	XLAT(FAN_ONDIR),
#endif
#if defined(FAN_EVENT_ON_CHILD) || (defined(HAVE_DECL_FAN_EVENT_ON_CHILD) && HAVE_DECL_FAN_EVENT_ON_CHILD)
	XLAT(FAN_EVENT_ON_CHILD),
#endif
	XLAT_END
};
