Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2012-06-28 18:06:06 +0400
committerCorinna Vinschen <corinna@vinschen.de>2012-06-28 18:06:06 +0400
commit06e429fd6d6684da9ed94ee803ae75561bcb5eb3 (patch)
tree68c72a51762551b579bd40c8c0334e19486edfd8
parent27c4e2e1ee8ace9c403c0078df6ebcbb9e210af8 (diff)
* exceptions.cc (RtlUnwind): Align declaration with MSDN.
* ntdll.h: Define CreateDisposition Flags. Add comments. * winlean.h: Define FILE_SHARE_VALID_FLAGS if using Mingw64 headers.
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/exceptions.cc2
-rw-r--r--winsup/cygwin/ntdll.h31
-rw-r--r--winsup/cygwin/winlean.h5
4 files changed, 43 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index e52a02daf..ff3d70400 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,9 @@
+2012-06-28 Corinna Vinschen <corinna@vinschen.de>
+
+ * exceptions.cc (RtlUnwind): Align declaration with MSDN.
+ * ntdll.h: Define CreateDisposition Flags. Add comments.
+ * winlean.h: Define FILE_SHARE_VALID_FLAGS if using Mingw64 headers.
+
2012-06-27 Christopher Faylor <me.cygwin2012@cgf.cx>
* cygwait.h (cancelable_wait): Make extern to avoid always including.
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 4c477e05d..4aa48c5ef 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -449,7 +449,7 @@ try_to_debug (bool waitloop)
return dbg;
}
-extern "C" DWORD __stdcall RtlUnwind (void *, void *, void *, DWORD);
+extern "C" void WINAPI RtlUnwind (void *, void *, PEXCEPTION_RECORD, void *);
static void __stdcall rtl_unwind (exception_list *, PEXCEPTION_RECORD) __attribute__ ((noinline, regparm (3)));
void __stdcall
rtl_unwind (exception_list *frame, PEXCEPTION_RECORD e)
diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h
index 2f63f41da..6a9122354 100644
--- a/winsup/cygwin/ntdll.h
+++ b/winsup/cygwin/ntdll.h
@@ -24,6 +24,15 @@
#define NtCurrentThread() ((HANDLE) 0xfffffffe)
/* CreateDisposition in NtCreateFile call. */
+#define FILE_SUPERSEDE 0x00000000
+#define FILE_OPEN 0x00000001
+#define FILE_CREATE 0x00000002
+#define FILE_OPEN_IF 0x00000003
+#define FILE_OVERWRITE 0x00000004
+#define FILE_OVERWRITE_IF 0x00000005
+#define FILE_MAXIMUM_DISPOSITION 0x00000005
+
+/* Creation information returned in IO_STATUS_BLOCK. */
#define FILE_SUPERSEDED 0
#define FILE_OPENED 1
#define FILE_CREATED 2
@@ -31,6 +40,28 @@
#define FILE_EXISTS 4
#define FILE_DOES_NOT_EXIST 5
+/* CreateFile/OpenFile options */
+#define FILE_DIRECTORY_FILE 0x00000001
+#define FILE_WRITE_THROUGH 0x00000002
+#define FILE_SEQUENTIAL_ONLY 0x00000004
+#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008
+#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010
+#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020
+#define FILE_NON_DIRECTORY_FILE 0x00000040
+#define FILE_CREATE_TREE_CONNECTION 0x00000080
+#define FILE_COMPLETE_IF_OPLOCKED 0x00000100
+#define FILE_NO_EA_KNOWLEDGE 0x00000200
+#define FILE_OPEN_FOR_RECOVERY 0x00000400
+#define FILE_RANDOM_ACCESS 0x00000800
+#define FILE_DELETE_ON_CLOSE 0x00001000
+#define FILE_OPEN_BY_FILE_ID 0x00002000
+#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000
+#define FILE_NO_COMPRESSION 0x00008000
+#define FILE_RESERVE_OPFILTER 0x00100000
+#define FILE_OPEN_REPARSE_POINT 0x00200000
+#define FILE_OPEN_NO_RECALL 0x00400000
+#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
+
/* Relative file position values in NtWriteFile call. */
#define FILE_WRITE_TO_END_OF_FILE (-1LL)
#define FILE_USE_FILE_POINTER_POSITION (-2LL)
diff --git a/winsup/cygwin/winlean.h b/winsup/cygwin/winlean.h
index e5eeeb2ac..7d40b8321 100644
--- a/winsup/cygwin/winlean.h
+++ b/winsup/cygwin/winlean.h
@@ -37,4 +37,9 @@ details. */
use this function. Use GetSystemWindowsDirectoryW. */
#define GetWindowsDirectoryW dont_use_GetWindowsDirectory
#define GetWindowsDirectoryA dont_use_GetWindowsDirectory
+/* FILE_SHARE_VALID_FLAGS is a Mingw32 invention not backed by the system
+ headers. Therefore it's not defined by Mingw64, either. */
+#ifdef __MINGW64_VERSION_MAJOR
+#define FILE_SHARE_VALID_FLAGS (FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE)
+#endif
#endif /*_WINLEAN_H*/