* Makefile.in (OBSOLETE_FUNCTIONS): Add fcntl.

(NEW_FUNCTIONS): Add fcntl64.
	* cygwin.din: Export fcntl64.  Make fcntl being SIGFE.
	* fcntl.cc (fcntl_worker): New function.
	(fcntl64): New function.
	(_fcntl): Call fcntl_worker.  Convert 32 bit flock structure into
	64 bit flock structure and vice versa.
	* fhandler.cc (fhandler_base::lock): Change 2nd parameter to
	struct __flock64 *.
	* fhandler_disk_file.cc (fhandler_disk_file::lock): Ditto.  Rework
	to be 64 bit aware.
	* fhandler.h: Accomodate above method argument changes.
	* include/cygwin/types.h: Add struct __flock32 and __flock64.
	Define struct flock according to setting of __CYGWIN_USE_BIG_TYPES__.
	* include/cygwin/version.h: Bump API minor number.
This commit is contained in:
Corinna Vinschen
2003-12-01 17:26:28 +00:00
parent 6c2b784612
commit dc3998682a
9 changed files with 130 additions and 35 deletions

View File

@@ -99,6 +99,38 @@ typedef __ino32_t ino_t;
#endif
#endif /*__ino_t_defined*/
#if defined (__INSIDE_CYGWIN__)
struct __flock32 {
short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */
short l_whence; /* flag to choose starting offset */
_off_t l_start; /* relative offset, in bytes */
_off_t l_len; /* length, in bytes; 0 means lock to EOF */
short l_pid; /* returned with F_GETLK */
short l_xxx; /* reserved for future use */
};
struct __flock64 {
short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */
short l_whence; /* flag to choose starting offset */
_off_t l_start; /* relative offset, in bytes */
_off64_t l_len; /* length, in bytes; 0 means lock to EOF */
pid_t l_pid; /* returned with F_GETLK */
};
#endif
struct flock {
short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */
short l_whence; /* flag to choose starting offset */
off_t l_start; /* relative offset, in bytes */
off_t l_len; /* length, in bytes; 0 means lock to EOF */
#ifdef __CYGWIN_USE_BIG_TYPES__
pid_t l_pid; /* returned with F_GETLK */
#else
short l_pid; /* returned with F_GETLK */
short l_xxx; /* reserved for future use */
#endif
};
#ifndef __key_t_defined
#define __key_t_defined
typedef long long key_t;

View File

@@ -231,12 +231,13 @@ details. */
104: Export msgctl, msgget, msgrcv, msgsnd, semctl, semget, semop.
105: Export sigwait.
106: Export flock.
107: Export fcntl64.
*/
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
#define CYGWIN_VERSION_API_MAJOR 0
#define CYGWIN_VERSION_API_MINOR 106
#define CYGWIN_VERSION_API_MINOR 107
/* There is also a compatibity version number associated with the
shared memory regions. It is incremented when incompatible