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

static const struct xlat fcntlcmds[] = {
#if defined(F_DUPFD) || (defined(HAVE_DECL_F_DUPFD) && HAVE_DECL_F_DUPFD)
	XLAT(F_DUPFD),
#endif
#if defined(F_GETFD) || (defined(HAVE_DECL_F_GETFD) && HAVE_DECL_F_GETFD)
	XLAT(F_GETFD),
#endif
#if defined(F_SETFD) || (defined(HAVE_DECL_F_SETFD) && HAVE_DECL_F_SETFD)
	XLAT(F_SETFD),
#endif
#if defined(F_GETFL) || (defined(HAVE_DECL_F_GETFL) && HAVE_DECL_F_GETFL)
	XLAT(F_GETFL),
#endif
#if defined(F_SETFL) || (defined(HAVE_DECL_F_SETFL) && HAVE_DECL_F_SETFL)
	XLAT(F_SETFL),
#endif
#if defined(F_GETLK) || (defined(HAVE_DECL_F_GETLK) && HAVE_DECL_F_GETLK)
	XLAT(F_GETLK),
#endif
#if defined(F_SETLK) || (defined(HAVE_DECL_F_SETLK) && HAVE_DECL_F_SETLK)
	XLAT(F_SETLK),
#endif
#if defined(F_SETLKW) || (defined(HAVE_DECL_F_SETLKW) && HAVE_DECL_F_SETLKW)
	XLAT(F_SETLKW),
#endif
#if defined(F_GETOWN) || (defined(HAVE_DECL_F_GETOWN) && HAVE_DECL_F_GETOWN)
	XLAT(F_GETOWN),
#endif
#if defined(F_SETOWN) || (defined(HAVE_DECL_F_SETOWN) && HAVE_DECL_F_SETOWN)
	XLAT(F_SETOWN),
#endif
#if defined(F_RSETLK) || (defined(HAVE_DECL_F_RSETLK) && HAVE_DECL_F_RSETLK)
	XLAT(F_RSETLK),
#endif
#if defined(F_RSETLKW) || (defined(HAVE_DECL_F_RSETLKW) && HAVE_DECL_F_RSETLKW)
	XLAT(F_RSETLKW),
#endif
#if defined(F_RGETLK) || (defined(HAVE_DECL_F_RGETLK) && HAVE_DECL_F_RGETLK)
	XLAT(F_RGETLK),
#endif
#if defined(F_CNVT) || (defined(HAVE_DECL_F_CNVT) && HAVE_DECL_F_CNVT)
	XLAT(F_CNVT),
#endif
#if defined(F_SETSIG) || (defined(HAVE_DECL_F_SETSIG) && HAVE_DECL_F_SETSIG)
	XLAT(F_SETSIG),
#endif
#if defined(F_GETSIG) || (defined(HAVE_DECL_F_GETSIG) && HAVE_DECL_F_GETSIG)
	XLAT(F_GETSIG),
#endif
#if defined(F_CHKFL) || (defined(HAVE_DECL_F_CHKFL) && HAVE_DECL_F_CHKFL)
	XLAT(F_CHKFL),
#endif
#if defined(F_DUP2FD) || (defined(HAVE_DECL_F_DUP2FD) && HAVE_DECL_F_DUP2FD)
	XLAT(F_DUP2FD),
#endif
#if defined(F_ALLOCSP) || (defined(HAVE_DECL_F_ALLOCSP) && HAVE_DECL_F_ALLOCSP)
	XLAT(F_ALLOCSP),
#endif
#if defined(F_ISSTREAM) || (defined(HAVE_DECL_F_ISSTREAM) && HAVE_DECL_F_ISSTREAM)
	XLAT(F_ISSTREAM),
#endif
#if defined(F_PRIV) || (defined(HAVE_DECL_F_PRIV) && HAVE_DECL_F_PRIV)
	XLAT(F_PRIV),
#endif
#if defined(F_NPRIV) || (defined(HAVE_DECL_F_NPRIV) && HAVE_DECL_F_NPRIV)
	XLAT(F_NPRIV),
#endif
#if defined(F_QUOTACL) || (defined(HAVE_DECL_F_QUOTACL) && HAVE_DECL_F_QUOTACL)
	XLAT(F_QUOTACL),
#endif
#if defined(F_BLOCKS) || (defined(HAVE_DECL_F_BLOCKS) && HAVE_DECL_F_BLOCKS)
	XLAT(F_BLOCKS),
#endif
#if defined(F_BLKSIZE) || (defined(HAVE_DECL_F_BLKSIZE) && HAVE_DECL_F_BLKSIZE)
	XLAT(F_BLKSIZE),
#endif
#if defined(F_GETOWN) || (defined(HAVE_DECL_F_GETOWN) && HAVE_DECL_F_GETOWN)
	XLAT(F_GETOWN),
#endif
#if defined(F_SETOWN) || (defined(HAVE_DECL_F_SETOWN) && HAVE_DECL_F_SETOWN)
	XLAT(F_SETOWN),
#endif
#if defined(F_REVOKE) || (defined(HAVE_DECL_F_REVOKE) && HAVE_DECL_F_REVOKE)
	XLAT(F_REVOKE),
#endif
#if defined(F_SETLK) || (defined(HAVE_DECL_F_SETLK) && HAVE_DECL_F_SETLK)
	XLAT(F_SETLK),
#endif
#if defined(F_SETLKW) || (defined(HAVE_DECL_F_SETLKW) && HAVE_DECL_F_SETLKW)
	XLAT(F_SETLKW),
#endif
#if defined(F_GETLK) || (defined(HAVE_DECL_F_GETLK) && HAVE_DECL_F_GETLK)
	XLAT(F_GETLK),
#endif
#if defined(F_SETLK64) || (defined(HAVE_DECL_F_SETLK64) && HAVE_DECL_F_SETLK64)
	XLAT(F_SETLK64),
#endif
#if defined(F_SETLKW64) || (defined(HAVE_DECL_F_SETLKW64) && HAVE_DECL_F_SETLKW64)
	XLAT(F_SETLKW64),
#endif
#if defined(F_GETLK64) || (defined(HAVE_DECL_F_GETLK64) && HAVE_DECL_F_GETLK64)
	XLAT(F_GETLK64),
#endif
#if defined(F_SHARE) || (defined(HAVE_DECL_F_SHARE) && HAVE_DECL_F_SHARE)
	XLAT(F_SHARE),
#endif
#if defined(F_UNSHARE) || (defined(HAVE_DECL_F_UNSHARE) && HAVE_DECL_F_UNSHARE)
	XLAT(F_UNSHARE),
#endif
#if defined(F_SETLEASE) || (defined(HAVE_DECL_F_SETLEASE) && HAVE_DECL_F_SETLEASE)
	XLAT(F_SETLEASE),
#endif
#if defined(F_GETLEASE) || (defined(HAVE_DECL_F_GETLEASE) && HAVE_DECL_F_GETLEASE)
	XLAT(F_GETLEASE),
#endif
#if defined(F_NOTIFY) || (defined(HAVE_DECL_F_NOTIFY) && HAVE_DECL_F_NOTIFY)
	XLAT(F_NOTIFY),
#endif
#if defined(F_DUPFD_CLOEXEC) || (defined(HAVE_DECL_F_DUPFD_CLOEXEC) && HAVE_DECL_F_DUPFD_CLOEXEC)
	XLAT(F_DUPFD_CLOEXEC),
#endif
	XLAT_END
};
