OSDN Git Service

Enable to track git://github.com/monaka/binutils.git
[pf3gnuchains/pf3gnuchains3x.git] / winsup / cygwin / include / sys / file.h
diff --git a/winsup/cygwin/include/sys/file.h b/winsup/cygwin/include/sys/file.h
new file mode 100644 (file)
index 0000000..af07df4
--- /dev/null
@@ -0,0 +1,54 @@
+/* This is file FILE.H */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained.  This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** 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  <nwourms@netscape.net>:
+ *
+ *   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 <sys/cdefs.h>
+#include <fcntl.h>
+
+/* 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 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