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