From f3a1e23eb385bdf9dd71676aebb9b64cf617ec7a Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sat, 29 Nov 2003 23:00:51 +0000 Subject: * Makefile.in: (DLL_OFILES): Add flock.o. * cygwin.din: Export flock. * flock.c: New file. * include/sys/file.h: Include sys/cdefs.h. Add function prototype for flock(). Add some comments from BSD's header for further clarity. (L_SET, L_CURR, L_INCR, L_XTND): Redefine as the macros SEEK_SET, SEEK_CUR, SEEK_CUR, & SEEK_END respectively. (LOCK_SH,LOCK_EX,LOCK_NB,LOCK_UN): New macros for flock(). * include/cygwin/version.h: Bump API minor number. --- winsup/cygwin/include/cygwin/version.h | 3 ++- winsup/cygwin/include/sys/file.h | 36 ++++++++++++++++++++++++++++------ 2 files changed, 32 insertions(+), 7 deletions(-) (limited to 'winsup/cygwin/include') diff --git a/winsup/cygwin/include/cygwin/version.h b/winsup/cygwin/include/cygwin/version.h index 52ddb5be8..76130833b 100644 --- a/winsup/cygwin/include/cygwin/version.h +++ b/winsup/cygwin/include/cygwin/version.h @@ -230,12 +230,13 @@ details. */ 103: Export getprogname, setprogname. 104: Export msgctl, msgget, msgrcv, msgsnd, semctl, semget, semop. 105: Export sigwait. + 106: Export flock. */ /* Note that we forgot to bump the api for ualarm, strtoll, strtoull */ #define CYGWIN_VERSION_API_MAJOR 0 -#define CYGWIN_VERSION_API_MINOR 105 +#define CYGWIN_VERSION_API_MINOR 106 /* There is also a compatibity version number associated with the shared memory regions. It is incremented when incompatible diff --git a/winsup/cygwin/include/sys/file.h b/winsup/cygwin/include/sys/file.h index dbf2ea88a..af07df4cf 100644 --- a/winsup/cygwin/include/sys/file.h +++ b/winsup/cygwin/include/sys/file.h @@ -11,20 +11,44 @@ ** This file is distributed WITHOUT ANY WARRANTY; without even the implied ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ - +/* + * 2003-11-27 Nicholas Wourms : + * + * Include sys/cdefs.h. Add function prototype for flock(). + * Add some comments from BSD's header for further clarity. + * (L_SET, L_CURR, L_INCR, L_XTND): Redefine as the macros + * SEEK_SET, SEEK_CUR, SEEK_CUR, & SEEK_END respectively. + * (LOCK_SH,LOCK_EX,LOCK_NB,LOCK_UN): New macros for flock(). +*/ #ifndef _FILE_H_ #define _FILE_H_ +#include #include -#define L_SET 0 -#define L_CURR 1 -#define L_INCR 1 -#define L_XTND 2 +/* Whence values for lseek(); renamed by POSIX 1003.1 */ +#define L_SET SEEK_SET +#define L_CURR SEEK_CUR +#define L_INCR SEEK_CUR +#define L_XTND SEEK_END + +/* Operations for flock() function */ +#define LOCK_SH 1 /* Shared lock. */ +#define LOCK_EX 2 /* Exclusive lock. */ +#define LOCK_NB 4 /* Don't block when locking. */ +#define LOCK_UN 8 /* Unlock. */ +/* Operations for access function */ #define F_OK 0 /* does file exist */ -#define X_OK 1 /* is it executable by caller */ +#define X_OK 1 /* is it executable or searchable by caller */ #define W_OK 2 /* is it writable by caller */ #define R_OK 4 /* is it readable by caller */ +/* Apply or remove an advisory lock on the file fd refers to. */ +__BEGIN_DECLS + +int _EXFUN(flock, (int, int)); + +__END_DECLS + #endif -- cgit v1.2.3