4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-18 20:39:33 +08:00

* 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.
This commit is contained in:
Corinna Vinschen 2012-06-28 14:06:06 +00:00
parent 27c4e2e1ee
commit 06e429fd6d
4 changed files with 43 additions and 1 deletions

View File

@ -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.

View File

@ -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)

View File

@ -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)

View File

@ -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*/