summaryrefslogtreecommitdiff
path: root/imap/src/osdep/unix/flockcyg.h
diff options
context:
space:
mode:
Diffstat (limited to 'imap/src/osdep/unix/flockcyg.h')
-rw-r--r--imap/src/osdep/unix/flockcyg.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/imap/src/osdep/unix/flockcyg.h b/imap/src/osdep/unix/flockcyg.h
new file mode 100644
index 00000000..0bc53623
--- /dev/null
+++ b/imap/src/osdep/unix/flockcyg.h
@@ -0,0 +1,50 @@
+/* ========================================================================
+ * Copyright 1988-2006 University of Washington
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *
+ * ========================================================================
+ */
+
+/*
+ * Program: flock() emulation via fcntl() locking
+ *
+ * Author: Mark Crispin
+ * Networks and Distributed Computing
+ * Computing & Communications
+ * University of Washington
+ * Administration Building, AG-44
+ * Seattle, WA 98195
+ * Internet: MRC@CAC.Washington.EDU
+ *
+ * Date: 10 April 2001
+ * Last Edited: 30 August 2006
+ */
+
+/* Cygwin does not seem to have the design flaw in fcntl() locking that
+ * most other systems do (see flocksim.c for details). If some cretin
+ * decides to implement that design flaw, then Cygwin will have to use
+ * flocksim. Also, we don't test NFS either
+ */
+
+
+#define flock flocksim /* use ours instead of theirs */
+
+#undef LOCK_SH
+#define LOCK_SH 1 /* shared lock */
+#undef LOCK_EX
+#define LOCK_EX 2 /* exclusive lock */
+#undef LOCK_NB
+#define LOCK_NB 4 /* no blocking */
+#undef LOCK_UN
+#define LOCK_UN 8 /* unlock */
+
+
+/* Function prototypes */
+
+int flocksim (int fd,int operation);