[Mingw-w64-public] [PATCH 2/2] include/wdm.h: Add CLFS definitions.
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.
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
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