Fix MinGW and MinGW-w64 builds
Closes GH-222 and GH-267. Thanks Yuki Okumura and Yasuhiro Matsumoto for providing fixes.
This commit is contained in:
parent
7c50415db6
commit
ee49c7a2b6
@ -142,7 +142,9 @@ typedef HANDLE uv_thread_t;
|
|||||||
typedef CRITICAL_SECTION uv_mutex_t;
|
typedef CRITICAL_SECTION uv_mutex_t;
|
||||||
|
|
||||||
typedef union {
|
typedef union {
|
||||||
SRWLOCK srwlock_;
|
/* srwlock_ has type SRWLOCK, but not all toolchains define this type in */
|
||||||
|
/* windows.h. */
|
||||||
|
void* srwlock_;
|
||||||
struct {
|
struct {
|
||||||
uv_mutex_t read_mutex_;
|
uv_mutex_t read_mutex_;
|
||||||
uv_mutex_t write_mutex_;
|
uv_mutex_t write_mutex_;
|
||||||
|
|||||||
@ -4080,7 +4080,7 @@
|
|||||||
|
|
||||||
/* from ntifs.h */
|
/* from ntifs.h */
|
||||||
/* MinGW already has it */
|
/* MinGW already has it */
|
||||||
#ifndef __MINGW32__
|
#if defined(_MSC_VER) || defined(__MINGW64__)
|
||||||
typedef struct _REPARSE_DATA_BUFFER {
|
typedef struct _REPARSE_DATA_BUFFER {
|
||||||
ULONG ReparseTag;
|
ULONG ReparseTag;
|
||||||
USHORT ReparseDataLength;
|
USHORT ReparseDataLength;
|
||||||
@ -4281,6 +4281,10 @@ typedef enum _FILE_INFORMATION_CLASS {
|
|||||||
FILE_SPECIAL_ACCESS)
|
FILE_SPECIAL_ACCESS)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef IO_REPARSE_TAG_SYMLINK
|
||||||
|
# define IO_REPARSE_TAG_SYMLINK (0xA000000CL)
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef VOID (NTAPI *PIO_APC_ROUTINE)
|
typedef VOID (NTAPI *PIO_APC_ROUTINE)
|
||||||
(PVOID ApcContext,
|
(PVOID ApcContext,
|
||||||
PIO_STATUS_BLOCK IoStatusBlock,
|
PIO_STATUS_BLOCK IoStatusBlock,
|
||||||
@ -4333,6 +4337,24 @@ typedef NTSTATUS (NTAPI *sNtSetInformationFile)
|
|||||||
} OVERLAPPED_ENTRY, *LPOVERLAPPED_ENTRY;
|
} OVERLAPPED_ENTRY, *LPOVERLAPPED_ENTRY;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __MINGW32__
|
||||||
|
typedef PVOID RTL_SRWLOCK;
|
||||||
|
typedef RTL_SRWLOCK SRWLOCK, *PSRWLOCK;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* from wincon.h */
|
||||||
|
#ifndef ENABLE_INSERT_MODE
|
||||||
|
# define ENABLE_INSERT_MODE 0x20
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_QUICK_EDIT_MODE
|
||||||
|
# define ENABLE_QUICK_EDIT_MODE 0x40
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_EXTENDED_FLAGS
|
||||||
|
# define ENABLE_EXTENDED_FLAGS 0x80
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef BOOL (WINAPI *sGetQueuedCompletionStatusEx)
|
typedef BOOL (WINAPI *sGetQueuedCompletionStatusEx)
|
||||||
(HANDLE CompletionPort,
|
(HANDLE CompletionPort,
|
||||||
LPOVERLAPPED_ENTRY lpCompletionPortEntries,
|
LPOVERLAPPED_ENTRY lpCompletionPortEntries,
|
||||||
@ -4371,6 +4393,7 @@ typedef VOID (WINAPI* sReleaseSRWLockShared)
|
|||||||
typedef VOID (WINAPI* sReleaseSRWLockExclusive)
|
typedef VOID (WINAPI* sReleaseSRWLockExclusive)
|
||||||
(PSRWLOCK SRWLock);
|
(PSRWLOCK SRWLock);
|
||||||
|
|
||||||
|
|
||||||
/* Ntapi function pointers */
|
/* Ntapi function pointers */
|
||||||
extern sRtlNtStatusToDosError pRtlNtStatusToDosError;
|
extern sRtlNtStatusToDosError pRtlNtStatusToDosError;
|
||||||
extern sNtDeviceIoControlFile pNtDeviceIoControlFile;
|
extern sNtDeviceIoControlFile pNtDeviceIoControlFile;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user