[Mingw-w64-public] [PATCH 2/2] include/wdm.h: Add CLFS definitions.

2021-06-03 Thread Mark Harmstone
Signed-off-by: Mark Harmstone 

---
 mingw-w64-headers/ddk/include/ddk/wdm.h | 879 
 1 file changed, 879 insertions(+)

diff --git a/mingw-w64-headers/ddk/include/ddk/wdm.h 
b/mingw-w64-headers/ddk/include/ddk/wdm.h
index 5ab654ad1..7e5810d8c 100644
--- a/mingw-w64-headers/ddk/include/ddk/wdm.h
+++ b/mingw-w64-headers/ddk/include/ddk/wdm.h
@@ -16260,6 +16260,885 @@ ZwSetInformationKey(
 
 #endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
 
+#ifndef _CLFS_PUBLIC_H_
+#define _CLFS_PUBLIC_H_
+
+#ifndef CLFSUSER_API
+#ifdef __CLFSUSER_EXPORTS__
+#define CLFSUSER_API
+#else
+#define CLFSUSER_API __declspec(dllimport)
+#endif
+#endif
+
+#if NTDDI_VERSION >= NTDDI_WS03SP1 || _WIN32_WINNT >= _WIN32_WINNT_WS03
+
+#define FILE_ATTRIBUTE_DEDICATED  FILE_ATTRIBUTE_TEMPORARY
+#define EA_CONTAINER_NAME "ContainerName"
+#define EA_CONTAINER_SIZE "ContainerSize"
+#define CLFS_BASELOG_EXTENSIONL".blf"
+#define CLFS_FLAG_NO_FLAGS0x
+#define CLFS_FLAG_FORCE_APPEND0x0001
+#define CLFS_FLAG_FORCE_FLUSH 0x0002
+#define CLFS_FLAG_USE_RESERVATION 0x0004
+#define CLFS_FLAG_REENTRANT_FILE_SYSTEM   0x0008
+#define CLFS_FLAG_NON_REENTRANT_FILTER0x0010
+#define CLFS_FLAG_REENTRANT_FILTER0x0020
+#define CLFS_FLAG_IGNORE_SHARE_ACCESS 0x0040
+#define CLFS_FLAG_READ_IN_PROGRESS0x0080
+#define CLFS_FLAG_MINIFILTER_LEVEL0x0100
+#define CLFS_FLAG_HIDDEN_SYSTEM_LOG   0x0200
+#define CLFS_FLAG_FILTER_INTERMEDIATE_LEVEL   
CLFS_FLAG_NON_REENTRANT_FILTER
+#define CLFS_FLAG_FILTER_TOP_LEVELCLFS_FLAG_REENTRANT_FILTER
+#define CLFS_MARSHALLING_FLAG_NONE0x
+#define CLFS_MARSHALLING_FLAG_DISABLE_BUFF_INIT   0x0001
+
+typedef ULONG CLFS_CONTAINER_ID, *PCLFS_CONTAINER_ID, **PPCLFS_CONTAINER_ID;
+
+typedef struct _CLS_LSN {
+  ULONGLONG Internal;
+} CLS_LSN, *PCLS_LSN, **PPCLS_LSN;
+
+typedef CLS_LSN CLFS_LSN, *PCLFS_LSN, **PPCLFS_LSN;
+
+extern __declspec(dllimport) const CLFS_LSN CLFS_LSN_INVALID;
+extern __declspec(dllimport) const CLFS_LSN CLFS_LSN_NULL;
+
+#define ClfsNullRecord  0x00
+#define ClfsDataRecord  0x01
+#define ClfsRestartRecord   0x02
+#define ClfsClientRecord (ClfsDataRecord | ClfsRestartRecord)
+
+#define CLFS_CONTAINER_STREAM_PREFIXL"%BLF%:"
+#define CLFS_CONTAINER_RELATIVE_PREFIX  L"%BLF%\\"
+
+typedef UCHAR CLS_RECORD_TYPE, *PCLS_RECORD_TYPE, **PPCLS_RECORD_TYPE;
+typedef CLS_RECORD_TYPE CLFS_RECORD_TYPE, *PCLFS_RECORD_TYPE, 
**PPCLFS_RECORD_TYPE;
+
+typedef enum _CLS_CONTEXT_MODE {
+  ClsContextNone,
+  ClsContextUndoNext,
+  ClsContextPrevious,
+  ClsContextForward
+} CLS_CONTEXT_MODE, *PCLS_CONTEXT_MODE, **PPCLS_CONTEXT_MODE;
+
+typedef enum _CLFS_CONTEXT_MODE {
+  ClfsContextNone,
+  ClfsContextUndoNext,
+  ClfsContextPrevious,
+  ClfsContextForward
+} CLFS_CONTEXT_MODE, *PCLFS_CONTEXT_MODE, **PPCLFS_CONTEXT_MODE;
+
+typedef struct _CLFS_NODE_ID {
+  ULONG cType;
+  ULONG cbNode;
+} CLFS_NODE_ID, *PCLFS_NODE_ID;
+
+typedef struct _CLS_WRITE_ENTRY {
+  PVOID Buffer;
+  ULONG ByteLength;
+} CLS_WRITE_ENTRY, *PCLS_WRITE_ENTRY, **PPCLS_WRITE_ENTRY;
+
+typedef CLS_WRITE_ENTRY CLFS_WRITE_ENTRY, *PCLFS_WRITE_ENTRY, 
**PPCLFS_WRITE_ENTRY;
+
+typedef GUID CLFS_LOG_ID;
+
+typedef struct _CLS_INFORMATION {
+  LONGLONG TotalAvailable;
+  LONGLONG CurrentAvailable;
+  LONGLONG TotalReservation;
+  ULONGLONG BaseFileSize;
+  ULONGLONG ContainerSize;
+  ULONG TotalContainers;
+  ULONG FreeContainers;
+  ULONG TotalClients;
+  ULONG Attributes;
+  ULONG FlushThreshold;
+  ULONG SectorSize;
+  CLS_LSN MinArchiveTailLsn;
+  CLS_LSN BaseLsn;
+  CLS_LSN LastFlushedLsn;
+  CLS_LSN LastLsn;
+  CLS_LSN RestartLsn;
+  GUID Identity;
+} CLS_INFORMATION, *PCLS_INFORMATION, *PPCLS_INFORMATION;
+
+typedef CLS_INFORMATION CLFS_INFORMATION, *PCLFS_INFORMATION, 
*PPCLFS_INFORMATION;
+
+typedef struct _CLFS_LOG_NAME_INFORMATION {
+  USHORT NameLengthInBytes;
+  WCHAR Name[1];
+} CLFS_LOG_NAME_INFORMATION, *PCLFS_LOG_NAME_INFORMATION, 
**PPCLFS_LOG_NAME_INFORMATION;
+
+typedef struct _CLFS_STREAM_ID_INFORMATION {
+  UCHAR StreamIdentifier;
+} CLFS_STREAM_ID_INFORMATION, *PCLFS_STREAM_ID_INFORMATION, 
**PPCLFS_STREAM_ID_INFORMATION;
+
+typedef UINT32 CLS_CONTAINER_STATE, *PCLS_CONTAINER_STATE, 
*PPCLS_CONTAINER_STATE;
+typedef CLS_CONTAINER_STATE CLFS_CONTAINER_STATE, *PCLFS_CONTAINER_STATE, 
*PPCLFS_CONTAINER_STATE;
+
+#define ClsContainerInitializing  0x01
+#define ClsContainerInactive  0x02
+#define ClsContainerActive0x04
+#define ClsContainerActivePendingDelete   0x08
+#define ClsContainerPendingArchive0x10
+#define ClsContainerPendingArchiveAndDelete   0x20
+
+#define ClfsContainerInitializing 0x01

[Mingw-w64-public] [PATCH 1/2] include/wdm.h: Add missing enum values.

2021-06-03 Thread Mark Harmstone
Signed-off-by: Mark Harmstone 

---
 mingw-w64-headers/ddk/include/ddk/wdm.h | 194 
 1 file changed, 161 insertions(+), 33 deletions(-)

diff --git a/mingw-w64-headers/ddk/include/ddk/wdm.h 
b/mingw-w64-headers/ddk/include/ddk/wdm.h
index 8ed420e26..5ab654ad1 100644
--- a/mingw-w64-headers/ddk/include/ddk/wdm.h
+++ b/mingw-w64-headers/ddk/include/ddk/wdm.h
@@ -804,7 +804,10 @@ typedef enum _KBUGCHECK_CALLBACK_REASON {
   KbCallbackReserved1,
   KbCallbackSecondaryDumpData,
   KbCallbackDumpIo,
-  KbCallbackAddPages
+  KbCallbackAddPages,
+  KbCallbackSecondaryMultiPartDumpData,
+  KbCallbackRemovePages,
+  KbCallbackTriageDumpData
 } KBUGCHECK_CALLBACK_REASON;
 
 struct _KBUGCHECK_REASON_CALLBACK_RECORD;
@@ -921,7 +924,16 @@ typedef PROCESSOR_CALLBACK_FUNCTION 
*PPROCESSOR_CALLBACK_FUNCTION;
 typedef enum _KINTERRUPT_POLARITY {
   InterruptPolarityUnknown,
   InterruptActiveHigh,
-  InterruptActiveLow
+  InterruptRisingEdge = InterruptActiveHigh,
+  InterruptActiveLow,
+  InterruptFallingEdge = InterruptActiveLow,
+#if NTDDI_VERSION >= NTDDI_WIN8
+  InterruptActiveBoth,
+#endif
+#if NTDDI_VERSION >= NTDDI_WINBLUE
+  InterruptActiveBothTriggerLow = InterruptActiveBoth,
+  InterruptActiveBothTriggerHigh
+#endif
 } KINTERRUPT_POLARITY, *PKINTERRUPT_POLARITY;
 
 typedef enum _KPROFILE_SOURCE {
@@ -967,7 +979,7 @@ typedef enum _KWAIT_REASON {
   WrDelayExecution,
   WrSuspended,
   WrUserRequest,
-  WrEventPair,
+  WrSpare0,
   WrQueue,
   WrLpcReceive,
   WrLpcReply,
@@ -990,6 +1002,9 @@ typedef enum _KWAIT_REASON {
   WrFastMutex,
   WrGuardedMutex,
   WrRundown,
+  WrAlertByThreadId,
+  WrDeferredPreempt,
+  WrPhysicalFault,
   MaximumWaitReason
 } KWAIT_REASON;
 
@@ -1138,48 +1153,46 @@ typedef struct _KLOCK_QUEUE_HANDLE {
 
 typedef ULONG64 KSPIN_LOCK_QUEUE_NUMBER;
 
-#define LockQueueDispatcherLock 0
-#define LockQueueExpansionLock 1
-#define LockQueuePfnLock 2
-#define LockQueueSystemSpaceLock 3
+#define LockQueueUnusedSpare0 0
+#define LockQueueUnusedSpare1 1
+#define LockQueueUnusedSpare2 2
+#define LockQueueUnusedSpare3 3
 #define LockQueueVacbLock 4
 #define LockQueueMasterLock 5
 #define LockQueueNonPagedPoolLock 6
 #define LockQueueIoCancelLock 7
-#define LockQueueWorkQueueLock 8
+#define LockQueueUnusedSpare8 8
 #define LockQueueIoVpbLock 9
 #define LockQueueIoDatabaseLock 10
 #define LockQueueIoCompletionLock 11
 #define LockQueueNtfsStructLock 12
 #define LockQueueAfdWorkQueueLock 13
 #define LockQueueBcbLock 14
-#define LockQueueMmNonPagedPoolLock 15
+#define LockQueueUnusedSpare15 15
 #define LockQueueUnusedSpare16 16
-#define LockQueueTimerTableLock 17
-#define LockQueueMaximumLock (LockQueueTimerTableLock + 
LOCK_QUEUE_TIMER_TABLE_LOCKS)
+#define LockQueueMaximumLock 17
 
 #else
 
 typedef enum _KSPIN_LOCK_QUEUE_NUMBER {
-  LockQueueDispatcherLock,
-  LockQueueExpansionLock,
-  LockQueuePfnLock,
-  LockQueueSystemSpaceLock,
+  LockQueueUnusedSpare0,
+  LockQueueUnusedSpare1,
+  LockQueueUnusedSpare2,
+  LockQueueUnusedSpare3,
   LockQueueVacbLock,
   LockQueueMasterLock,
   LockQueueNonPagedPoolLock,
   LockQueueIoCancelLock,
-  LockQueueWorkQueueLock,
+  LockQueueUnusedSpare8,
   LockQueueIoVpbLock,
   LockQueueIoDatabaseLock,
   LockQueueIoCompletionLock,
   LockQueueNtfsStructLock,
   LockQueueAfdWorkQueueLock,
   LockQueueBcbLock,
-  LockQueueMmNonPagedPoolLock,
+  LockQueueUnusedSpare15,
   LockQueueUnusedSpare16,
-  LockQueueTimerTableLock,
-  LockQueueMaximumLock = LockQueueTimerTableLock + LOCK_QUEUE_TIMER_TABLE_LOCKS
+  LockQueueMaximumLock = LockQueueUnusedSpare16 + 1
 } KSPIN_LOCK_QUEUE_NUMBER, *PKSPIN_LOCK_QUEUE_NUMBER;
 
 #endif /* defined(_AMD64_) */
@@ -1375,6 +1388,7 @@ typedef KSYNCHRONIZE_ROUTINE *PKSYNCHRONIZE_ROUTINE;
 
 typedef enum _POOL_TYPE {
   NonPagedPool,
+  NonPagedPoolExecute = NonPagedPool,
   PagedPool,
   NonPagedPoolMustSucceed,
   DontUseThisType,
@@ -1382,13 +1396,20 @@ typedef enum _POOL_TYPE {
   PagedPoolCacheAligned,
   NonPagedPoolCacheAlignedMustS,
   MaxPoolType,
+  NonPagedPoolBase = 0,
+  NonPagedPoolBaseMustSucceed = 2,
+  NonPagedPoolBaseCacheAligned = 4,
+  NonPagedPoolBaseCacheAlignedMustS = 6,
   NonPagedPoolSession = 32,
   PagedPoolSession,
   NonPagedPoolMustSucceedSession,
   DontUseThisTypeSession,
   NonPagedPoolCacheAlignedSession,
   PagedPoolCacheAlignedSession,
-  NonPagedPoolCacheAlignedMustSSession
+  NonPagedPoolCacheAlignedMustSSession,
+  NonPagedPoolNx = 512,
+  NonPagedPoolNxCacheAligned = 516,
+  NonPagedPoolSessionNx = 544,
 } POOL_TYPE;
 
 typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE {
@@ -1670,7 +1691,8 @@ typedef enum _MEMORY_CACHING_TYPE {
   MmHardwareCoherentCached,
   MmNonCachedUnordered,
   MmUSWCCached,
-  MmMaximumCacheType
+  MmMaximumCacheType,
+  MmNotMapped = -1
 } MEMORY_CACHING_TYPE;
 
 typedef enum _MM_PAGE_PRIORITY {
@@ -1867,7 +1889,12 @@ typedef enum _WORK_QUEUE_TYPE {
   CriticalWorkQueue,
   DelayedWorkQueue,
   HyperCriticalWorkQueue,
-  MaximumWorkQueue
+  NormalWorkQueue,
+  

Re: [Mingw-w64-public] Windows 95 crashes

2021-06-03 Thread NightStrike
On Sun, May 30, 2021, 10:05 unlvsur unlvsur  wrote:

> Compiling programs for Windows 95 and Pentium in 2021 | GL1zdA's Weblog (
> wordpress.com)<
> https://glizda.wordpress.com/2021/05/19/compiling-programs-for-windows-95-and-pentium-in-2021/
> >
>

We never claimed to support windows 95.

>

___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public