| /* |
| this file defines interfaces mainly exposed to device drivers and |
| native nt dll's |
| |
| */ |
| #ifndef __WINE_NTDDK_H |
| #define __WINE_NTDDK_H |
| |
| #include <ntdef.h> |
| |
| /* fixme: put it elsewhere */ |
| typedef long BOOL; |
| /* end fixme */ |
| |
| /****************** |
| * asynchronous I/O |
| */ |
| /* conflict with X11-includes*/ |
| |
| #undef Status |
| typedef struct _IO_STATUS_BLOCK |
| { union |
| { NTSTATUS Status; |
| PVOID Pointer; |
| } u; |
| ULONG_PTR Information; |
| } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; |
| |
| typedef VOID (NTAPI *PIO_APC_ROUTINE) ( PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, ULONG Reserved ); |
| |
| typedef enum _KEY_INFORMATION_CLASS { |
| KeyBasicInformation, |
| KeyNodeInformation, |
| KeyFullInformation |
| } KEY_INFORMATION_CLASS; |
| |
| typedef enum _KEY_VALUE_INFORMATION_CLASS { |
| KeyValueBasicInformation, |
| KeyValueFullInformation, |
| KeyValuePartialInformation, |
| KeyValueFullInformationAlign64, |
| KeyValuePartialInformationAlign64 |
| } KEY_VALUE_INFORMATION_CLASS; |
| |
| typedef enum _PROCESSINFOCLASS |
| { ProcessBasicInformation, |
| ProcessQuotaLimits, |
| ProcessIoCounters, |
| ProcessVmCounters, |
| ProcessTimes, |
| ProcessBasePriority, |
| ProcessRaisePriority, |
| ProcessDebugPort, |
| ProcessExceptionPort, |
| ProcessAccessToken, |
| ProcessLdtInformation, |
| ProcessLdtSize, |
| ProcessDefaultHardErrorMode, |
| ProcessIoPortHandlers, |
| ProcessPooledUsageAndLimits, |
| ProcessWorkingSetWatch, |
| ProcessUserModeIOPL, |
| ProcessEnableAlignmentFaultFixup, |
| ProcessPriorityClass, |
| ProcessWx86Information, |
| ProcessHandleCount, |
| ProcessAffinityMask, |
| ProcessPriorityBoost, |
| ProcessDeviceMap, |
| ProcessSessionInformation, |
| ProcessForegroundInformation, |
| ProcessWow64Information, |
| MaxProcessInfoClass |
| } PROCESSINFOCLASS; |
| |
| typedef enum _THREADINFOCLASS |
| { ThreadBasicInformation, |
| ThreadTimes, |
| ThreadPriority, |
| ThreadBasePriority, |
| ThreadAffinityMask, |
| ThreadImpersonationToken, |
| ThreadDescriptorTableEntry, |
| ThreadEnableAlignmentFaultFixup, |
| ThreadEventPair_Reusable, |
| ThreadQuerySetWin32StartAddress, |
| ThreadZeroTlsCell, |
| ThreadPerformanceCount, |
| ThreadAmILastThread, |
| ThreadIdealProcessor, |
| ThreadPriorityBoost, |
| ThreadSetTlsArrayAddress, |
| ThreadIsIoPending, |
| MaxThreadInfoClass |
| } THREADINFOCLASS; |
| |
| typedef enum _FILE_INFORMATION_CLASS { |
| FileDirectoryInformation = 1, |
| FileFullDirectoryInformation, |
| FileBothDirectoryInformation, |
| FileBasicInformation, |
| FileStandardInformation, |
| FileInternalInformation, |
| FileEaInformation, |
| FileAccessInformation, |
| FileNameInformation, |
| FileRenameInformation, |
| FileLinkInformation, |
| FileNamesInformation, |
| FileDispositionInformation, |
| FilePositionInformation, |
| FileFullEaInformation, |
| FileModeInformation, |
| FileAlignmentInformation, |
| FileAllInformation, |
| FileAllocationInformation, |
| FileEndOfFileInformation, |
| FileAlternateNameInformation, |
| FileStreamInformation, |
| FilePipeInformation, |
| FilePipeLocalInformation, |
| FilePipeRemoteInformation, |
| FileMailslotQueryInformation, |
| FileMailslotSetInformation, |
| FileCompressionInformation, |
| FileObjectIdInformation, |
| FileCompletionInformation, |
| FileMoveClusterInformation, |
| FileQuotaInformation, |
| FileReparsePointInformation, |
| FileNetworkOpenInformation, |
| FileAttributeTagInformation, |
| FileTrackingInformation, |
| FileMaximumInformation |
| } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS; |
| |
| typedef enum _SECTION_INHERIT |
| { ViewShare = 1, |
| ViewUnmap = 2 |
| } SECTION_INHERIT; |
| |
| /* |
| placeholder |
| */ |
| typedef enum _OBJECT_INFORMATION_CLASS |
| { DunnoTheConstants1 |
| } OBJECT_INFORMATION_CLASS, *POBJECT_INFORMATION_CLASS; |
| |
| typedef enum SYSTEM_INFORMATION_CLASS |
| { DunnoTheConstants2 |
| } SYSTEM_INFORMATION_CLASS, *PSYSTEM_INFORMATION_CLASS; |
| |
| /* |
| * NtQuerySystemInformation interface |
| */ |
| typedef struct _SYSTEM_TIME_ADJUSTMENT |
| { |
| ULONG TimeAdjustment; |
| BOOL TimeAdjustmentDisabled; |
| |
| } SYSTEM_TIME_ADJUSTMENT, *PSYSTEM_TIME_ADJUSTMENT; |
| |
| typedef struct _SYSTEM_CONFIGURATION_INFO |
| { |
| union |
| { ULONG OemId; |
| struct |
| { WORD ProcessorArchitecture; |
| WORD Reserved; |
| } tag1; |
| } tag2; |
| ULONG PageSize; |
| PVOID MinimumApplicationAddress; |
| PVOID MaximumApplicationAddress; |
| ULONG ActiveProcessorMask; |
| ULONG NumberOfProcessors; |
| ULONG ProcessorType; |
| ULONG AllocationGranularity; |
| WORD ProcessorLevel; |
| WORD ProcessorRevision; |
| |
| } SYSTEM_CONFIGURATION_INFO, *PSYSTEM_CONFIGURATION_INFO; |
| |
| |
| typedef struct _SYSTEM_CACHE_INFORMATION |
| { |
| ULONG CurrentSize; |
| ULONG PeakSize; |
| ULONG PageFaultCount; |
| ULONG MinimumWorkingSet; |
| ULONG MaximumWorkingSet; |
| ULONG Unused[4]; |
| |
| } SYSTEM_CACHE_INFORMATION; |
| |
| /* |
| timer |
| */ |
| typedef enum _TIMER_TYPE |
| { NotificationTimer, |
| SynchronizationTimer |
| } TIMER_TYPE; |
| |
| #endif |