mirror of
https://github.com/reactos/reactos.git
synced 2025-05-29 22:18:13 +00:00
Add NDK 1.00-pre. Needs some TLC in umtypes.h and a lot of fixes. Not used anywhere yet.
svn path=/trunk/; revision=16066
This commit is contained in:
parent
46f26a073b
commit
c09b52bf01
30 changed files with 9261 additions and 0 deletions
25
reactos/include/ndk/cctypes.h
Normal file
25
reactos/include/ndk/cctypes.h
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/cctypes.h
|
||||||
|
* PURPOSE: Definitions for exported Cache Manager Types not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _CCTYPES_H
|
||||||
|
#define _CCTYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
extern ULONG NTOSAPI CcFastMdlReadWait;
|
||||||
|
extern ULONG NTOSAPI CcFastReadNotPossible;
|
||||||
|
extern ULONG NTOSAPI CcFastReadWait;
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
49
reactos/include/ndk/extypes.h
Normal file
49
reactos/include/ndk/extypes.h
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/extypes.h
|
||||||
|
* PURPOSE: Definitions for exported Executive Functions not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _EXTYPES_H
|
||||||
|
#define _EXTYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
extern POBJECT_TYPE NTOSAPI ExIoCompletionType;
|
||||||
|
|
||||||
|
/* CONSTANTS *****************************************************************/
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
typedef enum _HARDERROR_RESPONSE_OPTION
|
||||||
|
{
|
||||||
|
OptionAbortRetryIgnore,
|
||||||
|
OptionOk,
|
||||||
|
OptionOkCancel,
|
||||||
|
OptionRetryCancel,
|
||||||
|
OptionYesNo,
|
||||||
|
OptionYesNoCancel,
|
||||||
|
OptionShutdownSystem
|
||||||
|
} HARDERROR_RESPONSE_OPTION, *PHARDERROR_RESPONSE_OPTION;
|
||||||
|
|
||||||
|
typedef enum _HARDERROR_RESPONSE
|
||||||
|
{
|
||||||
|
ResponseReturnToCaller,
|
||||||
|
ResponseNotHandled,
|
||||||
|
ResponseAbort,
|
||||||
|
ResponseCancel,
|
||||||
|
ResponseIgnore,
|
||||||
|
ResponseNo,
|
||||||
|
ResponseOk,
|
||||||
|
ResponseRetry,
|
||||||
|
ResponseYes
|
||||||
|
} HARDERROR_RESPONSE, *PHARDERROR_RESPONSE;
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
149
reactos/include/ndk/halfuncs.h
Normal file
149
reactos/include/ndk/halfuncs.h
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/halfuncs.h
|
||||||
|
* PURPOSE: Prototypes for exported HAL Functions not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _HALFUNCS_H
|
||||||
|
#define _HALFUNCS_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
#include "haltypes.h"
|
||||||
|
|
||||||
|
/* FUNCTION TYPES ************************************************************/
|
||||||
|
|
||||||
|
/* PROTOTYPES ****************************************************************/
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
HalAcquireDisplayOwnership(
|
||||||
|
IN PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
HalAllProcessorsStarted(VOID);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
HalAllocateAdapterChannel(
|
||||||
|
IN PADAPTER_OBJECT AdapterObject,
|
||||||
|
IN PWAIT_CONTEXT_BLOCK WaitContextBlock,
|
||||||
|
IN ULONG NumberOfMapRegisters,
|
||||||
|
IN PDRIVER_CONTROL ExecutionRoutine
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
HalBeginSystemInterrupt(
|
||||||
|
ULONG Vector,
|
||||||
|
KIRQL Irql,
|
||||||
|
PKIRQL OldIrql
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
HalDisableSystemInterrupt(
|
||||||
|
ULONG Vector,
|
||||||
|
KIRQL Irql
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
HalDisplayString (
|
||||||
|
IN PCHAR String
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
HalEnableSystemInterrupt(
|
||||||
|
ULONG Vector,
|
||||||
|
KIRQL Irql,
|
||||||
|
KINTERRUPT_MODE InterruptMode
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
HalEndSystemInterrupt(
|
||||||
|
KIRQL Irql,
|
||||||
|
ULONG Vector
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
HalGetEnvironmentVariable(
|
||||||
|
PCH Name,
|
||||||
|
PCH Value,
|
||||||
|
USHORT ValueLength
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
HalInitializeProcessor(
|
||||||
|
ULONG ProcessorNumber,
|
||||||
|
PVOID ProcessorStack
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
HalInitSystem(
|
||||||
|
ULONG BootPhase,
|
||||||
|
PLOADER_PARAMETER_BLOCK LoaderBlock
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
HalQueryDisplayOwnership(VOID);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
HalReportResourceUsage(VOID);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
FASTCALL
|
||||||
|
HalRequestSoftwareInterrupt(
|
||||||
|
KIRQL SoftwareInterruptRequested
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
HalReleaseDisplayOwnership(VOID);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
HalReturnToFirmware(
|
||||||
|
FIRMWARE_ENTRY Action
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
HalRequestIpi(
|
||||||
|
ULONG Unknown
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
HalSetEnvironmentVariable(
|
||||||
|
IN PCH Name,
|
||||||
|
IN PCH Value
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
HalStartNextProcessor(
|
||||||
|
ULONG Unknown1,
|
||||||
|
ULONG Unknown2
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
IoAssignDriveLetters(
|
||||||
|
struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
|
||||||
|
PSTRING NtDeviceName,
|
||||||
|
PUCHAR NtSystemPath,
|
||||||
|
PSTRING NtSystemPathString
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif
|
72
reactos/include/ndk/haltypes.h
Normal file
72
reactos/include/ndk/haltypes.h
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/haltypes.h
|
||||||
|
* PURPOSE: Definitions for HAL/BLDR types not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _HALTYPES_H
|
||||||
|
#define _HALTYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
#include <ddk/ntdddisk.h>
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
extern ULONG NTOSAPI KdComPortInUse;
|
||||||
|
|
||||||
|
/* CONSTANTS *****************************************************************/
|
||||||
|
|
||||||
|
/* Boot Flags */
|
||||||
|
#define MB_FLAGS_MEM_INFO (0x1)
|
||||||
|
#define MB_FLAGS_BOOT_DEVICE (0x2)
|
||||||
|
#define MB_FLAGS_COMMAND_LINE (0x4)
|
||||||
|
#define MB_FLAGS_MODULE_INFO (0x8)
|
||||||
|
#define MB_FLAGS_AOUT_SYMS (0x10)
|
||||||
|
#define MB_FLAGS_ELF_SYMS (0x20)
|
||||||
|
#define MB_FLAGS_MMAP_INFO (0x40)
|
||||||
|
#define MB_FLAGS_DRIVES_INFO (0x80)
|
||||||
|
#define MB_FLAGS_CONFIG_TABLE (0x100)
|
||||||
|
#define MB_FLAGS_BOOT_LOADER_NAME (0x200)
|
||||||
|
#define MB_FLAGS_APM_TABLE (0x400)
|
||||||
|
#define MB_FLAGS_GRAPHICS_TABLE (0x800)
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
|
typedef struct _LOADER_MODULE
|
||||||
|
{
|
||||||
|
ULONG ModStart;
|
||||||
|
ULONG ModEnd;
|
||||||
|
ULONG String;
|
||||||
|
ULONG Reserved;
|
||||||
|
} LOADER_MODULE, *PLOADER_MODULE;
|
||||||
|
|
||||||
|
typedef struct _LOADER_PARAMETER_BLOCK
|
||||||
|
{
|
||||||
|
ULONG Flags;
|
||||||
|
ULONG MemLower;
|
||||||
|
ULONG MemHigher;
|
||||||
|
ULONG BootDevice;
|
||||||
|
ULONG CommandLine;
|
||||||
|
ULONG ModsCount;
|
||||||
|
ULONG ModsAddr;
|
||||||
|
UCHAR Syms[12];
|
||||||
|
ULONG MmapLength;
|
||||||
|
ULONG MmapAddr;
|
||||||
|
ULONG DrivesCount;
|
||||||
|
ULONG DrivesAddr;
|
||||||
|
ULONG ConfigTable;
|
||||||
|
ULONG BootLoaderName;
|
||||||
|
} LOADER_PARAMETER_BLOCK, *PLOADER_PARAMETER_BLOCK;
|
||||||
|
|
||||||
|
typedef struct _DRIVE_LAYOUT_INFORMATION
|
||||||
|
{
|
||||||
|
DWORD PartitionCount;
|
||||||
|
DWORD Signature;
|
||||||
|
PARTITION_INFORMATION PartitionEntry[1];
|
||||||
|
} DRIVE_LAYOUT_INFORMATION;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
11
reactos/include/ndk/i386/floatsave.h
Normal file
11
reactos/include/ndk/i386/floatsave.h
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#ifndef __NAPI_I386_FLOATSAVE_H__
|
||||||
|
#define __NAPI_I386_FLOATSAVE_H__
|
||||||
|
|
||||||
|
#define FLOAT_SAVE_CONTROL (0xFFFF037F)
|
||||||
|
#define FLOAT_SAVE_STATUS (0xFFFF0000)
|
||||||
|
#define FLOAT_SAVE_TAG (0xFFFFFFFF)
|
||||||
|
#define FLOAT_SAVE_DATA (0xFFFF0000)
|
||||||
|
|
||||||
|
#endif /* __NAPI_I386_FLOATSAVE_H__ */
|
||||||
|
|
||||||
|
/* EOF */
|
12
reactos/include/ndk/i386/segment.h
Normal file
12
reactos/include/ndk/i386/segment.h
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#ifndef _ASM_SEGMENT_H
|
||||||
|
#define _ASM_SEGMENT_H
|
||||||
|
|
||||||
|
#define KERNEL_CS (0x8)
|
||||||
|
#define KERNEL_DS (0x10)
|
||||||
|
#define USER_CS (0x18 + 0x3)
|
||||||
|
#define USER_DS (0x20 + 0x3)
|
||||||
|
#define RESERVED_FOR_TSS (0x28)
|
||||||
|
#define PCR_SELECTOR (0x30)
|
||||||
|
#define TEB_SELECTOR (0x38 + 0x3)
|
||||||
|
|
||||||
|
#endif /* _ASM_SEGMENT_H */
|
105
reactos/include/ndk/inbvfuncs.h
Normal file
105
reactos/include/ndk/inbvfuncs.h
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/haltypes.h
|
||||||
|
* PURPOSE: Prototypes for Boot Video Driver not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _INBVFUNCS_H
|
||||||
|
#define _INBVFUNCS_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* FUNCTION TYPES ************************************************************/
|
||||||
|
|
||||||
|
/* PROTOTYPES ****************************************************************/
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
InbvAcquireDisplayOwnership(VOID);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
InbvCheckDisplayOwnership(VOID);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
InbvDisplayString(
|
||||||
|
IN PCHAR String
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
InbvEnableBootDriver(
|
||||||
|
IN BOOLEAN Enable
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
InbvEnableDisplayString(
|
||||||
|
IN BOOLEAN Enable
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
InbvInstallDisplayStringFilter(
|
||||||
|
IN PVOID Unknown
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
InbvIsBootDriverInstalled(VOID);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
InbvNotifyDisplayOwnershipLost(
|
||||||
|
IN PVOID Callback
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
InbvResetDisplay(VOID);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
InbvSetScrollRegion(
|
||||||
|
IN ULONG Left,
|
||||||
|
IN ULONG Top,
|
||||||
|
IN ULONG Width,
|
||||||
|
IN ULONG Height
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
InbvSetTextColor(
|
||||||
|
IN ULONG Color
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
InbvSolidColorFill(
|
||||||
|
IN ULONG Left,
|
||||||
|
IN ULONG Top,
|
||||||
|
IN ULONG Width,
|
||||||
|
IN ULONG Height,
|
||||||
|
IN ULONG Color
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
VidCleanUp(VOID);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
VidInitialize(VOID);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
VidResetDisplay(VOID);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
VidIsBootDriverInstalled(VOID);
|
||||||
|
|
||||||
|
#endif
|
20
reactos/include/ndk/iofuncs.h
Normal file
20
reactos/include/ndk/iofuncs.h
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/iofuncs.h
|
||||||
|
* PURPOSE: Definitions for exported I/O Manager Functions not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _IOFUNCS_H
|
||||||
|
#define _IOFUNCS_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* FUNCTION TYPES ************************************************************/
|
||||||
|
|
||||||
|
/* PROTOTYPES ****************************************************************/
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
68
reactos/include/ndk/iotypes.h
Normal file
68
reactos/include/ndk/iotypes.h
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/iotypes.h
|
||||||
|
* PURPOSE: Definitions for exported I/O Manager Types not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _IOTYPES_H
|
||||||
|
#define _IOTYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
extern POBJECT_TYPE NTOSAPI IoAdapterObjectType;
|
||||||
|
extern POBJECT_TYPE NTOSAPI IoDeviceHandlerObjectType;
|
||||||
|
extern POBJECT_TYPE NTOSAPI IoDeviceObjectType;
|
||||||
|
extern POBJECT_TYPE NTOSAPI IoDriverObjectType;
|
||||||
|
extern POBJECT_TYPE NTOSAPI IoFileObjectType;
|
||||||
|
extern ULONG NTOSAPI IoReadOperationCount;
|
||||||
|
extern ULONGLONG NTOSAPI IoReadTransferCount;
|
||||||
|
extern ULONG NTOSAPI IoWriteOperationCount;
|
||||||
|
extern ULONGLONG NTOSAPI IoWriteTransferCount;
|
||||||
|
extern KSPIN_LOCK NTOSAPI IoStatisticsLock;
|
||||||
|
|
||||||
|
/* CONSTANTS *****************************************************************/
|
||||||
|
|
||||||
|
/* I/O Types */
|
||||||
|
#define IO_TYPE_DRIVER 4L
|
||||||
|
#define IO_TYPE_TIMER 9L
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
|
typedef struct _MAILSLOT_CREATE_PARAMETERS
|
||||||
|
{
|
||||||
|
ULONG MailslotQuota;
|
||||||
|
ULONG MaximumMessageSize;
|
||||||
|
LARGE_INTEGER ReadTimeout;
|
||||||
|
BOOLEAN TimeoutSpecified;
|
||||||
|
} MAILSLOT_CREATE_PARAMETERS, *PMAILSLOT_CREATE_PARAMETERS;
|
||||||
|
|
||||||
|
typedef struct _NAMED_PIPE_CREATE_PARAMETERS
|
||||||
|
{
|
||||||
|
ULONG NamedPipeType;
|
||||||
|
ULONG ReadMode;
|
||||||
|
ULONG CompletionMode;
|
||||||
|
ULONG MaximumInstances;
|
||||||
|
ULONG InboundQuota;
|
||||||
|
ULONG OutboundQuota;
|
||||||
|
LARGE_INTEGER DefaultTimeout;
|
||||||
|
BOOLEAN TimeoutSpecified;
|
||||||
|
} NAMED_PIPE_CREATE_PARAMETERS, *PNAMED_PIPE_CREATE_PARAMETERS;
|
||||||
|
|
||||||
|
typedef struct _IO_TIMER
|
||||||
|
{
|
||||||
|
USHORT Type;
|
||||||
|
USHORT TimerEnabled;
|
||||||
|
LIST_ENTRY IoTimerList;
|
||||||
|
PIO_TIMER_ROUTINE TimerRoutine;
|
||||||
|
PVOID Context;
|
||||||
|
PDEVICE_OBJECT DeviceObject;
|
||||||
|
} IO_TIMER, *PIO_TIMER;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
94
reactos/include/ndk/kdfuncs.h
Normal file
94
reactos/include/ndk/kdfuncs.h
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/kdfuncs.h
|
||||||
|
* PURPOSE: Prototypes for Kernel Debugger Functions not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _KDFUNCS_H
|
||||||
|
#define _KDFUNCS_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
#include "kdtypes.h"
|
||||||
|
|
||||||
|
/* FUNCTION TYPES ************************************************************/
|
||||||
|
|
||||||
|
/* PROTOTYPES ****************************************************************/
|
||||||
|
|
||||||
|
BYTE
|
||||||
|
STDCALL
|
||||||
|
KdPollBreakIn(VOID);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
KdPortInitialize(
|
||||||
|
PKD_PORT_INFORMATION PortInformation,
|
||||||
|
DWORD Unknown1,
|
||||||
|
DWORD Unknown2
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
KdPortInitializeEx(
|
||||||
|
PKD_PORT_INFORMATION PortInformation,
|
||||||
|
DWORD Unknown1,
|
||||||
|
DWORD Unknown2
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
KdPortGetByte(
|
||||||
|
PUCHAR ByteRecieved
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
KdPortGetByteEx(
|
||||||
|
PKD_PORT_INFORMATION PortInformation,
|
||||||
|
PUCHAR ByteRecieved
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
KdPortPollByte(
|
||||||
|
PUCHAR ByteRecieved
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
KdPortPollByteEx(
|
||||||
|
PKD_PORT_INFORMATION PortInformation,
|
||||||
|
PUCHAR ByteRecieved
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KdPortPutByte(
|
||||||
|
UCHAR ByteToSend
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KdPortPutByteEx(
|
||||||
|
PKD_PORT_INFORMATION PortInformation,
|
||||||
|
UCHAR ByteToSend
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KdPortRestore(VOID);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KdPortSave (VOID);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
KdPortDisableInterrupts(VOID);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
KdPortEnableInterrupts(VOID);
|
||||||
|
|
||||||
|
#endif
|
29
reactos/include/ndk/kdtypes.h
Normal file
29
reactos/include/ndk/kdtypes.h
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/kdtypes.h
|
||||||
|
* PURPOSE: Definitions for Kernel Debugger Types not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _KDTYPES_H
|
||||||
|
#define _KDTYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
|
||||||
|
/* CONSTANTS *****************************************************************/
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
|
typedef struct _KD_PORT_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG ComPort;
|
||||||
|
ULONG BaudRate;
|
||||||
|
ULONG BaseAddress;
|
||||||
|
} KD_PORT_INFORMATION, *PKD_PORT_INFORMATION;
|
||||||
|
|
||||||
|
#endif
|
280
reactos/include/ndk/kefuncs.h
Normal file
280
reactos/include/ndk/kefuncs.h
Normal file
|
@ -0,0 +1,280 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/kefuncs.h
|
||||||
|
* PURPOSE: Prototypes for Kernel Functions not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _KEFUNCS_H
|
||||||
|
#define _KEFUNCS_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
#include "ketypes.h"
|
||||||
|
|
||||||
|
/* FUNCTION TYPES ************************************************************/
|
||||||
|
|
||||||
|
/* PROTOTYPES ****************************************************************/
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeInitializeApc(
|
||||||
|
IN PKAPC Apc,
|
||||||
|
IN PKTHREAD Thread,
|
||||||
|
IN KAPC_ENVIRONMENT TargetEnvironment,
|
||||||
|
IN PKKERNEL_ROUTINE KernelRoutine,
|
||||||
|
IN PKRUNDOWN_ROUTINE RundownRoutine OPTIONAL,
|
||||||
|
IN PKNORMAL_ROUTINE NormalRoutine,
|
||||||
|
IN KPROCESSOR_MODE Mode,
|
||||||
|
IN PVOID Context
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeEnterKernelDebugger(VOID);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
FASTCALL
|
||||||
|
KiAcquireSpinLock(
|
||||||
|
PKSPIN_LOCK SpinLock
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
FASTCALL
|
||||||
|
KiReleaseSpinLock(
|
||||||
|
PKSPIN_LOCK SpinLock
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KiDeliverApc(
|
||||||
|
IN KPROCESSOR_MODE PreviousMode,
|
||||||
|
IN PVOID Reserved,
|
||||||
|
IN PKTRAP_FRAME TrapFrame
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KiDispatchInterrupt(VOID);
|
||||||
|
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
KeAreApcsDisabled(
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeFlushQueuedDpcs(
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
KeGetRecommendedSharedDataAlignment(
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
KeQueryRuntimeThread(
|
||||||
|
IN PKTHREAD Thread,
|
||||||
|
OUT PULONG UserTime
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
KeSetKernelStackSwapEnable(
|
||||||
|
IN BOOLEAN Enable
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
KeDeregisterBugCheckReasonCallback(
|
||||||
|
IN PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
KeRegisterBugCheckReasonCallback(
|
||||||
|
IN PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord,
|
||||||
|
IN PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine,
|
||||||
|
IN KBUGCHECK_CALLBACK_REASON Reason,
|
||||||
|
IN PUCHAR Component
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeTerminateThread(
|
||||||
|
IN KPRIORITY Increment
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
KeIsExecutingDpc(
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeSetEventBoostPriority(
|
||||||
|
IN PKEVENT Event,
|
||||||
|
IN PKTHREAD *Thread OPTIONAL
|
||||||
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
KeFindConfigurationEntry(
|
||||||
|
IN PVOID Unknown,
|
||||||
|
IN ULONG Class,
|
||||||
|
IN CONFIGURATION_TYPE Type,
|
||||||
|
IN PULONG RegKey
|
||||||
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
KeFindConfigurationNextEntry(
|
||||||
|
IN PVOID Unknown,
|
||||||
|
IN ULONG Class,
|
||||||
|
IN CONFIGURATION_TYPE Type,
|
||||||
|
IN PULONG RegKey,
|
||||||
|
IN PVOID *NextLink
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeFlushEntireTb(
|
||||||
|
IN BOOLEAN Unknown,
|
||||||
|
IN BOOLEAN CurrentCpuOnly
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeRevertToUserAffinityThread(
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KiCoprocessorError(
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KiUnexpectedInterrupt(
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeSetDmaIoCoherency(
|
||||||
|
IN ULONG Coherency
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeSetProfileIrql(
|
||||||
|
IN KIRQL ProfileIrql
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
KeSetAffinityThread(
|
||||||
|
PKTHREAD Thread,
|
||||||
|
KAFFINITY Affinity
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeSetSystemAffinityThread(
|
||||||
|
IN KAFFINITY Affinity
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
KeUserModeCallback(
|
||||||
|
IN ULONG FunctionID,
|
||||||
|
IN PVOID InputBuffer,
|
||||||
|
IN ULONG InputLength,
|
||||||
|
OUT PVOID *OutputBuffer,
|
||||||
|
OUT PULONG OutputLength
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeSetTimeIncrement(
|
||||||
|
IN ULONG MaxIncrement,
|
||||||
|
IN ULONG MinIncrement
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeInitializeInterrupt(
|
||||||
|
PKINTERRUPT InterruptObject,
|
||||||
|
PKSERVICE_ROUTINE ServiceRoutine,
|
||||||
|
PVOID ServiceContext,
|
||||||
|
PKSPIN_LOCK SpinLock,
|
||||||
|
ULONG Vector,
|
||||||
|
KIRQL Irql,
|
||||||
|
KIRQL SynchronizeIrql,
|
||||||
|
KINTERRUPT_MODE InterruptMode,
|
||||||
|
BOOLEAN ShareVector,
|
||||||
|
CHAR ProcessorNumber,
|
||||||
|
BOOLEAN FloatingSave
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
KeConnectInterrupt(
|
||||||
|
PKINTERRUPT InterruptObject
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeDisconnectInterrupt(
|
||||||
|
PKINTERRUPT InterruptObject
|
||||||
|
);
|
||||||
|
|
||||||
|
struct _KPROCESS*
|
||||||
|
KeGetCurrentProcess(
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
KeSetGdtSelector(
|
||||||
|
ULONG Entry,
|
||||||
|
ULONG Value1,
|
||||||
|
ULONG Value2
|
||||||
|
);
|
||||||
|
|
||||||
|
LONG
|
||||||
|
STDCALL
|
||||||
|
KeReadStateMutant(
|
||||||
|
IN PKMUTANT Mutant
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeInitializeMutant(
|
||||||
|
IN PKMUTANT Mutant,
|
||||||
|
IN BOOLEAN InitialOwner
|
||||||
|
);
|
||||||
|
|
||||||
|
LONG
|
||||||
|
STDCALL
|
||||||
|
KeReleaseMutant(
|
||||||
|
IN PKMUTANT Mutant,
|
||||||
|
IN KPRIORITY Increment,
|
||||||
|
IN BOOLEAN Abandon,
|
||||||
|
IN BOOLEAN Wait
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
KeRaiseUserException(
|
||||||
|
IN NTSTATUS ExceptionCode
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif
|
129
reactos/include/ndk/ketypes.h
Normal file
129
reactos/include/ndk/ketypes.h
Normal file
|
@ -0,0 +1,129 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/ketypes.h
|
||||||
|
* PURPOSE: Definitions for Kernel Types not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _KETYPES_H
|
||||||
|
#define _KETYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
#include "haltypes.h"
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
extern CHAR NTOSAPI KeNumberProcessors;
|
||||||
|
extern LOADER_PARAMETER_BLOCK NTOSAPI KeLoaderBlock;
|
||||||
|
extern ULONG NTOSAPI KeDcacheFlushCount;
|
||||||
|
extern ULONG NTOSAPI KeIcacheFlushCount;
|
||||||
|
extern KAFFINITY NTOSAPI KeActiveProcessors;
|
||||||
|
extern ULONG NTOSAPI KiDmaIoCoherency; /* RISC Architectures only */
|
||||||
|
extern ULONG NTOSAPI KeMaximumIncrement;
|
||||||
|
extern ULONG NTOSAPI KeMinimumIncrement;
|
||||||
|
extern SSDT_ENTRY NTOSAPI KeServiceDescriptorTable[SSDT_MAX_ENTRIES];
|
||||||
|
extern SSDT_ENTRY NTOSAPI KeServiceDescriptorTableShadow[SSDT_MAX_ENTRIES];
|
||||||
|
|
||||||
|
/* CONSTANTS *****************************************************************/
|
||||||
|
#define SSDT_MAX_ENTRIES 4
|
||||||
|
#define PROCESSOR_FEATURE_MAX 64
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
|
typedef enum _KAPC_ENVIRONMENT
|
||||||
|
{
|
||||||
|
OriginalApcEnvironment,
|
||||||
|
AttachedApcEnvironment,
|
||||||
|
CurrentApcEnvironment
|
||||||
|
} KAPC_ENVIRONMENT;
|
||||||
|
|
||||||
|
typedef struct _KDPC_DATA
|
||||||
|
{
|
||||||
|
LIST_ENTRY DpcListHead;
|
||||||
|
ULONG DpcLock;
|
||||||
|
ULONG DpcQueueDepth;
|
||||||
|
ULONG DpcCount;
|
||||||
|
} KDPC_DATA, *PKDPC_DATA;
|
||||||
|
|
||||||
|
typedef struct _KTRAP_FRAME
|
||||||
|
{
|
||||||
|
PVOID DebugEbp;
|
||||||
|
PVOID DebugEip;
|
||||||
|
PVOID DebugArgMark;
|
||||||
|
PVOID DebugPointer;
|
||||||
|
PVOID TempCs;
|
||||||
|
PVOID TempEip;
|
||||||
|
ULONG Dr0;
|
||||||
|
ULONG Dr1;
|
||||||
|
ULONG Dr2;
|
||||||
|
ULONG Dr3;
|
||||||
|
ULONG Dr6;
|
||||||
|
ULONG Dr7;
|
||||||
|
USHORT Gs;
|
||||||
|
USHORT Reserved1;
|
||||||
|
USHORT Es;
|
||||||
|
USHORT Reserved2;
|
||||||
|
USHORT Ds;
|
||||||
|
USHORT Reserved3;
|
||||||
|
ULONG Edx;
|
||||||
|
ULONG Ecx;
|
||||||
|
ULONG Eax;
|
||||||
|
ULONG PreviousMode;
|
||||||
|
PVOID ExceptionList;
|
||||||
|
USHORT Fs;
|
||||||
|
USHORT Reserved4;
|
||||||
|
ULONG Edi;
|
||||||
|
ULONG Esi;
|
||||||
|
ULONG Ebx;
|
||||||
|
ULONG Ebp;
|
||||||
|
ULONG ErrorCode;
|
||||||
|
ULONG Eip;
|
||||||
|
ULONG Cs;
|
||||||
|
ULONG Eflags;
|
||||||
|
ULONG Esp;
|
||||||
|
USHORT Ss;
|
||||||
|
USHORT Reserved5;
|
||||||
|
USHORT V86_Es;
|
||||||
|
USHORT Reserved6;
|
||||||
|
USHORT V86_Ds;
|
||||||
|
USHORT Reserved7;
|
||||||
|
USHORT V86_Fs;
|
||||||
|
USHORT Reserved8;
|
||||||
|
USHORT V86_Gs;
|
||||||
|
USHORT Reserved9;
|
||||||
|
} KTRAP_FRAME, *PKTRAP_FRAME;
|
||||||
|
|
||||||
|
/* i386 Doesn't have Exception Frames */
|
||||||
|
typedef struct _KEXCEPTION_FRAME {
|
||||||
|
|
||||||
|
} KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
||||||
|
|
||||||
|
typedef struct _KINTERRUPT
|
||||||
|
{
|
||||||
|
CSHORT Type;
|
||||||
|
CSHORT Size;
|
||||||
|
LIST_ENTRY InterruptListEntry;
|
||||||
|
PKSERVICE_ROUTINE ServiceRoutine;
|
||||||
|
PVOID ServiceContext;
|
||||||
|
KSPIN_LOCK SpinLock;
|
||||||
|
ULONG TickCount;
|
||||||
|
PKSPIN_LOCK ActualLock;
|
||||||
|
PVOID DispatchAddress;
|
||||||
|
ULONG Vector;
|
||||||
|
KIRQL Irql;
|
||||||
|
KIRQL SynchronizeIrql;
|
||||||
|
BOOLEAN FloatingSave;
|
||||||
|
BOOLEAN Connected;
|
||||||
|
CHAR Number;
|
||||||
|
UCHAR ShareVector;
|
||||||
|
KINTERRUPT_MODE Mode;
|
||||||
|
ULONG ServiceCount;
|
||||||
|
ULONG DispatchCount;
|
||||||
|
ULONG DispatchCode[106];
|
||||||
|
} KINTERRUPT, *PKINTERRUPT;
|
||||||
|
|
||||||
|
/* FIXME: Add KOBJECTS Here */
|
||||||
|
|
||||||
|
#endif
|
37
reactos/include/ndk/ldrfuncs.h
Normal file
37
reactos/include/ndk/ldrfuncs.h
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/ldrfuncs.h
|
||||||
|
* PURPOSE: Defintions for Loader Functions not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _LDRFUNCS_H
|
||||||
|
#define _LDRFUNCS_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
#include "ldrtypes.h"
|
||||||
|
|
||||||
|
/* FUNCTION TYPES ************************************************************/
|
||||||
|
|
||||||
|
/* PROTOTYPES ****************************************************************/
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
LdrAccessResource(
|
||||||
|
IN PVOID BaseAddress,
|
||||||
|
IN PIMAGE_RESOURCE_DATA_ENTRY ResourceDataEntry,
|
||||||
|
OUT PVOID *Resource OPTIONAL,
|
||||||
|
OUT PULONG Size OPTIONAL
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
LdrFindResource_U(
|
||||||
|
IN PVOID BaseAddress,
|
||||||
|
IN PLDR_RESOURCE_INFO ResourceInfo,
|
||||||
|
IN ULONG Level,
|
||||||
|
OUT PIMAGE_RESOURCE_DATA_ENTRY *ResourceDataEntry
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif
|
76
reactos/include/ndk/ldrtypes.h
Normal file
76
reactos/include/ndk/ldrtypes.h
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/ldrtypes.h
|
||||||
|
* PURPOSE: Definitions for Loader Types not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _LDRTYPES_H
|
||||||
|
#define _LDRTYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
|
||||||
|
/* CONSTANTS *****************************************************************/
|
||||||
|
#define IMAGE_SCN_TYPE_REG 0x00000000
|
||||||
|
#define IMAGE_SCN_TYPE_DSECT 0x00000001
|
||||||
|
#define IMAGE_SCN_TYPE_NOLOAD 0x00000002
|
||||||
|
#define IMAGE_SCN_TYPE_GROUP 0x00000004
|
||||||
|
#define IMAGE_SCN_TYPE_COPY 0x00000010
|
||||||
|
|
||||||
|
#define IMAGE_FILE_MACHINE_ARM 0x000001C0
|
||||||
|
#define IMAGE_FILE_MACHINE_IA64 0x00000200
|
||||||
|
#define IMAGE_FILE_MACHINE_ALPHA64 0x00000284
|
||||||
|
#define IMAGE_FILE_MACHINE_AMD64 0x00008664
|
||||||
|
#define IMAGE_FILE_MACHINE_M32R 0x00009041
|
||||||
|
#define IMAGE_FILE_MACHINE_AXP64 IMAGE_FILE_MACHINE_ALPHA64
|
||||||
|
|
||||||
|
#define RESOURCE_TYPE_LEVEL 0
|
||||||
|
#define RESOURCE_NAME_LEVEL 1
|
||||||
|
#define RESOURCE_LANGUAGE_LEVEL 2
|
||||||
|
#define RESOURCE_DATA_LEVEL 3
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
/* FIXME: Update with _LDR_DATA_TABLE_ENTRY and LDR_ flags */
|
||||||
|
typedef struct _PEB_LDR_DATA
|
||||||
|
{
|
||||||
|
ULONG Length;
|
||||||
|
BOOLEAN Initialized;
|
||||||
|
PVOID SsHandle;
|
||||||
|
LIST_ENTRY InLoadOrderModuleList;
|
||||||
|
LIST_ENTRY InMemoryOrderModuleList;
|
||||||
|
LIST_ENTRY InInitializationOrderModuleList;
|
||||||
|
PVOID EntryInProgress;
|
||||||
|
} PEB_LDR_DATA, *PPEB_LDR_DATA;
|
||||||
|
|
||||||
|
/* FIXME: Update with _LDR_DATA_TABLE_ENTRY and LDR_ flags */
|
||||||
|
typedef struct _LDR_MODULE
|
||||||
|
{
|
||||||
|
LIST_ENTRY InLoadOrderModuleList;
|
||||||
|
LIST_ENTRY InMemoryOrderModuleList;
|
||||||
|
LIST_ENTRY InInitializationOrderModuleList;
|
||||||
|
void* BaseAddress;
|
||||||
|
void* EntryPoint;
|
||||||
|
ULONG SizeOfImage;
|
||||||
|
UNICODE_STRING FullDllName;
|
||||||
|
UNICODE_STRING BaseDllName;
|
||||||
|
ULONG Flags;
|
||||||
|
SHORT LoadCount;
|
||||||
|
SHORT TlsIndex;
|
||||||
|
HANDLE SectionHandle;
|
||||||
|
ULONG CheckSum;
|
||||||
|
ULONG TimeDateStamp;
|
||||||
|
} LDR_MODULE, *PLDR_MODULE;
|
||||||
|
|
||||||
|
typedef struct _LDR_RESOURCE_INFO
|
||||||
|
{
|
||||||
|
ULONG Type;
|
||||||
|
ULONG Name;
|
||||||
|
ULONG Language;
|
||||||
|
} LDR_RESOURCE_INFO, *PLDR_RESOURCE_INFO;
|
||||||
|
|
||||||
|
#endif
|
78
reactos/include/ndk/lpctypes.h
Normal file
78
reactos/include/ndk/lpctypes.h
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/lpctypes.h
|
||||||
|
* PURPOSE: Definitions for Local Procedure Call Types not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _LPCTYPES_H
|
||||||
|
#define _LPCTYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
|
||||||
|
/* CONSTANTS *****************************************************************/
|
||||||
|
#define LPC_MESSAGE_BASE_SIZE 4
|
||||||
|
#define MAX_MESSAGE_DATA (0x130)
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
typedef enum _LPC_TYPE
|
||||||
|
{
|
||||||
|
LPC_NEW_MESSAGE,
|
||||||
|
LPC_REQUEST,
|
||||||
|
LPC_REPLY,
|
||||||
|
LPC_DATAGRAM,
|
||||||
|
LPC_LOST_REPLY,
|
||||||
|
LPC_PORT_CLOSED,
|
||||||
|
LPC_CLIENT_DIED,
|
||||||
|
LPC_EXCEPTION,
|
||||||
|
LPC_DEBUG_EVENT,
|
||||||
|
LPC_ERROR_EVENT,
|
||||||
|
LPC_CONNECTION_REQUEST,
|
||||||
|
LPC_CONNECTION_REFUSED,
|
||||||
|
LPC_MAXIMUM
|
||||||
|
} LPC_TYPE;
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
|
/* FIXME: USE REAL DEFINITION */
|
||||||
|
typedef struct _LPC_MESSAGE {
|
||||||
|
USHORT DataSize;
|
||||||
|
USHORT MessageSize;
|
||||||
|
USHORT MessageType;
|
||||||
|
USHORT VirtualRangesOffset;
|
||||||
|
CLIENT_ID ClientId;
|
||||||
|
ULONG MessageId;
|
||||||
|
ULONG SectionSize;
|
||||||
|
} LPC_MESSAGE, *PLPC_MESSAGE;
|
||||||
|
|
||||||
|
/* FIXME: USE REAL DEFINITION */
|
||||||
|
typedef struct _LPC_SECTION_WRITE
|
||||||
|
{
|
||||||
|
ULONG Length;
|
||||||
|
HANDLE SectionHandle;
|
||||||
|
ULONG SectionOffset;
|
||||||
|
ULONG ViewSize;
|
||||||
|
PVOID ViewBase;
|
||||||
|
PVOID TargetViewBase;
|
||||||
|
} LPC_SECTION_WRITE, *PLPC_SECTION_WRITE;
|
||||||
|
|
||||||
|
/* FIXME: USE REAL DEFINITION */
|
||||||
|
typedef struct _LPC_SECTION_READ
|
||||||
|
{
|
||||||
|
ULONG Length;
|
||||||
|
ULONG ViewSize;
|
||||||
|
PVOID ViewBase;
|
||||||
|
} LPC_SECTION_READ, *PLPC_SECTION_READ;
|
||||||
|
|
||||||
|
/* FIXME: USE REAL DEFINITION */
|
||||||
|
typedef struct _LPC_MAX_MESSAGE
|
||||||
|
{
|
||||||
|
LPC_MESSAGE Header;
|
||||||
|
BYTE Data[MAX_MESSAGE_DATA];
|
||||||
|
} LPC_MAX_MESSAGE, *PLPC_MAX_MESSAGE;
|
||||||
|
|
||||||
|
#endif
|
37
reactos/include/ndk/mmtypes.h
Normal file
37
reactos/include/ndk/mmtypes.h
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/mmtypes.h
|
||||||
|
* PURPOSE: Definitions for Memory Manager Types not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _MMTYPES_H
|
||||||
|
#define _MMTYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
|
||||||
|
/* CONSTANTS *****************************************************************/
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
|
typedef struct _PP_LOOKASIDE_LIST
|
||||||
|
{
|
||||||
|
struct _GENERAL_LOOKASIDE *P;
|
||||||
|
struct _GENERAL_LOOKASIDE *L;
|
||||||
|
} PP_LOOKASIDE_LIST, *PPP_LOOKASIDE_LIST;
|
||||||
|
|
||||||
|
typedef struct _ADDRESS_RANGE
|
||||||
|
{
|
||||||
|
ULONG BaseAddrLow;
|
||||||
|
ULONG BaseAddrHigh;
|
||||||
|
ULONG LengthLow;
|
||||||
|
ULONG LengthHigh;
|
||||||
|
ULONG Type;
|
||||||
|
} ADDRESS_RANGE, *PADDRESS_RANGE;
|
||||||
|
|
||||||
|
#endif
|
49
reactos/include/ndk/ntndk.h
Normal file
49
reactos/include/ndk/ntndk.h
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/ntndk.h
|
||||||
|
* PURPOSE: Main Native Development Kit Header file to include all others.
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _NT_NDK_
|
||||||
|
#define _NT_NDK_
|
||||||
|
|
||||||
|
#ifndef NTOS_MODE_USER
|
||||||
|
/* Kernel-Mode NDK */
|
||||||
|
#include "kdtypes.h" /* Kernel Debugger Types */
|
||||||
|
#include "kdfuncs.h" /* Kernel Debugger Functions */
|
||||||
|
#include "cctypes.h" /* Cache Manager Types */
|
||||||
|
#include "extypes.h" /* Executive Types */
|
||||||
|
#include "haltypes.h" /* Hardware Abstraction Layer Types */
|
||||||
|
#include "halfuncs.h" /* Hardware Abstraction Layer Functions */
|
||||||
|
#include "inbvfuncs.h" /* Initialization Boot Video Functions */
|
||||||
|
#include "iotypes.h" /* Input/Output Manager Types */
|
||||||
|
#include "iofuncs.h" /* Input/Output Manager Functions */
|
||||||
|
#include "ketypes.h" /* Kernel Types */
|
||||||
|
#include "kefuncs.h" /* Kernel Functions */
|
||||||
|
#include "ldrfuncs.h" /* Loader Functions */
|
||||||
|
#include "lpctypes.h" /* Local Procedure Call Types */
|
||||||
|
#include "mmtypes.h" /* Memory Manager Types */
|
||||||
|
#include "obtypes.h" /* Object Manager Types */
|
||||||
|
#include "obfuncs.h" /* Object Manager Functions */
|
||||||
|
#include "potypes.h" /* Power Manager Types */
|
||||||
|
#include "psfuncs.h" /* Process Manager Functions */
|
||||||
|
#include "setypes.h" /* Security Subsystem Types */
|
||||||
|
#include "sefuncs.h" /* Security Subsystem Functions */
|
||||||
|
#else
|
||||||
|
/* User-Mode NDK */
|
||||||
|
#include "umtypes.h" /* Native Types in DDK/IFS but not in PSDK */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Shared NDK */
|
||||||
|
#include "ldrtypes.h" /* Loader Types */
|
||||||
|
#include "pstypes.h" /* Process Manager Types */
|
||||||
|
#include "rtltypes.h" /* Runtime Library Types */
|
||||||
|
#include "rtlfuncs.h" /* Runtime Library Functions */
|
||||||
|
#include "zwtypes.h" /* Native Types */
|
||||||
|
#include "zwfuncs.h" /* Native Functions (System Calls) */
|
||||||
|
#include "i386/floatsave.h" /* Floating Point Save Area Definitions for i386 */
|
||||||
|
#include "i386/segment.h" /* Kernel CPU Segment Definitions for i386 */
|
||||||
|
|
||||||
|
#endif
|
96
reactos/include/ndk/obfuncs.h
Normal file
96
reactos/include/ndk/obfuncs.h
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/obfuncs.h
|
||||||
|
* PURPOSE: Protoypes for OBject Manager Functions not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _OBFUNCS_H
|
||||||
|
#define _OBFUNCS_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* FUNCTION TYPES ************************************************************/
|
||||||
|
|
||||||
|
/* PROTOTYPES ****************************************************************/
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
ObCreateObject (
|
||||||
|
IN KPROCESSOR_MODE ObjectAttributesAccessMode OPTIONAL,
|
||||||
|
IN POBJECT_TYPE ObjectType,
|
||||||
|
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||||
|
IN KPROCESSOR_MODE AccessMode,
|
||||||
|
IN OUT PVOID ParseContext OPTIONAL,
|
||||||
|
IN ULONG ObjectSize,
|
||||||
|
IN ULONG PagedPoolCharge OPTIONAL,
|
||||||
|
IN ULONG NonPagedPoolCharge OPTIONAL,
|
||||||
|
OUT PVOID *Object
|
||||||
|
);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
ObGetObjectPointerCount (
|
||||||
|
IN PVOID Object
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
ObInsertObject (
|
||||||
|
IN PVOID Object,
|
||||||
|
IN PACCESS_STATE PassedAccessState OPTIONAL,
|
||||||
|
IN ACCESS_MASK DesiredAccess,
|
||||||
|
IN ULONG AdditionalReferences,
|
||||||
|
OUT PVOID *ReferencedObject OPTIONAL,
|
||||||
|
OUT PHANDLE Handle
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
ObMakeTemporaryObject (
|
||||||
|
IN PVOID Object
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
ObOpenObjectByPointer (
|
||||||
|
IN PVOID Object,
|
||||||
|
IN ULONG HandleAttributes,
|
||||||
|
IN PACCESS_STATE PassedAccessState OPTIONAL,
|
||||||
|
IN ACCESS_MASK DesiredAccess OPTIONAL,
|
||||||
|
IN POBJECT_TYPE ObjectType OPTIONAL,
|
||||||
|
IN KPROCESSOR_MODE AccessMode,
|
||||||
|
OUT PHANDLE Handle
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
ObQueryNameString (
|
||||||
|
IN PVOID Object,
|
||||||
|
OUT POBJECT_NAME_INFORMATION ObjectNameInfo,
|
||||||
|
IN ULONG Length,
|
||||||
|
OUT PULONG ReturnLength
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
ObQueryObjectAuditingByHandle (
|
||||||
|
IN HANDLE Handle,
|
||||||
|
OUT PBOOLEAN GenerateOnClose
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
ObReferenceObjectByName (
|
||||||
|
IN PUNICODE_STRING ObjectName,
|
||||||
|
IN ULONG Attributes,
|
||||||
|
IN PACCESS_STATE PassedAccessState OPTIONAL,
|
||||||
|
IN ACCESS_MASK DesiredAccess OPTIONAL,
|
||||||
|
IN POBJECT_TYPE ObjectType,
|
||||||
|
IN KPROCESSOR_MODE AccessMode,
|
||||||
|
IN OUT PVOID ParseContext OPTIONAL,
|
||||||
|
OUT PVOID *Object
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif
|
50
reactos/include/ndk/obtypes.h
Normal file
50
reactos/include/ndk/obtypes.h
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/obtypes.h
|
||||||
|
* PURPOSE: Defintions for Object Manager Types not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _OBTYPES_H
|
||||||
|
#define _OBTYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
extern NTOSAPI POBJECT_TYPE ObDirectoryType;
|
||||||
|
extern NTOSAPI struct DEVICE_MAP* ObSystemDeviceMap;
|
||||||
|
|
||||||
|
/* CONSTANTS *****************************************************************/
|
||||||
|
|
||||||
|
/* Values for DosDeviceDriveType */
|
||||||
|
#define DOSDEVICE_DRIVE_UNKNOWN 0
|
||||||
|
#define DOSDEVICE_DRIVE_CALCULATE 1
|
||||||
|
#define DOSDEVICE_DRIVE_REMOVABLE 2
|
||||||
|
#define DOSDEVICE_DRIVE_FIXED 3
|
||||||
|
#define DOSDEVICE_DRIVE_REMOTE 4
|
||||||
|
#define DOSDEVICE_DRIVE_CDROM 5
|
||||||
|
#define DOSDEVICE_DRIVE_RAMDISK 6
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
|
typedef struct _OBJECT_BASIC_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG Attributes;
|
||||||
|
ACCESS_MASK GrantedAccess;
|
||||||
|
ULONG HandleCount;
|
||||||
|
ULONG PointerCount;
|
||||||
|
ULONG PagedPoolUsage;
|
||||||
|
ULONG NonPagedPoolUsage;
|
||||||
|
ULONG Reserved[3];
|
||||||
|
ULONG NameInformationLength;
|
||||||
|
ULONG TypeInformationLength;
|
||||||
|
ULONG SecurityDescriptorLength;
|
||||||
|
LARGE_INTEGER CreateTime;
|
||||||
|
} OBJECT_BASIC_INFORMATION, *POBJECT_BASIC_INFORMATION;
|
||||||
|
|
||||||
|
/* FIXME: Add Object Structures Here */
|
||||||
|
|
||||||
|
#endif
|
92
reactos/include/ndk/potypes.h
Normal file
92
reactos/include/ndk/potypes.h
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/potypes.h
|
||||||
|
* PURPOSE: Defintions for Power Manager Types not documented in DDK/IFS.
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _POTYPES_H
|
||||||
|
#define _POTYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
|
||||||
|
/* CONSTANTS *****************************************************************/
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
|
typedef struct _PROCESSOR_IDLE_TIMES
|
||||||
|
{
|
||||||
|
ULONGLONG StartTime;
|
||||||
|
ULONGLONG EndTime;
|
||||||
|
ULONG IdleHandlerReserved[4];
|
||||||
|
} PROCESSOR_IDLE_TIMES, *PPROCESSOR_IDLE_TIMES;
|
||||||
|
|
||||||
|
typedef struct _PROCESSOR_PERF_STATE
|
||||||
|
{
|
||||||
|
UCHAR PercentFrequency;
|
||||||
|
UCHAR MinCapacity;
|
||||||
|
USHORT Power;
|
||||||
|
UCHAR IncreaseLevel;
|
||||||
|
UCHAR DecreaseLevel;
|
||||||
|
USHORT Flags;
|
||||||
|
ULONG IncreaseTime;
|
||||||
|
ULONG DecreaseTime;
|
||||||
|
ULONG IncreaseCount;
|
||||||
|
ULONG DecreaseCount;
|
||||||
|
ULONGLONG PerformanceTime;
|
||||||
|
} PROCESSOR_PERF_STATE, *PPROCESSOR_PERF_STATE;
|
||||||
|
|
||||||
|
typedef struct _PROCESSOR_POWER_STATE
|
||||||
|
{
|
||||||
|
PVOID IdleFunction;
|
||||||
|
ULONG Idle0KernelTimeLimit;
|
||||||
|
ULONG Idle0LastTime;
|
||||||
|
PVOID IdleHandlers;
|
||||||
|
PVOID IdleState;
|
||||||
|
ULONG IdleHandlersCount;
|
||||||
|
ULONGLONG LastCheck;
|
||||||
|
PROCESSOR_IDLE_TIMES IdleTimes;
|
||||||
|
ULONG IdleTime1;
|
||||||
|
ULONG PromotionCheck;
|
||||||
|
ULONG IdleTime2;
|
||||||
|
UCHAR CurrentThrottle;
|
||||||
|
UCHAR ThermalThrottleLimit;
|
||||||
|
UCHAR CurrentThrottleIndex;
|
||||||
|
UCHAR ThermalThrottleIndex;
|
||||||
|
ULONG LastKernelUserTime;
|
||||||
|
ULONG PerfIdleTime;
|
||||||
|
ULONG DebugDelta;
|
||||||
|
ULONG DebugCount;
|
||||||
|
ULONG LastSysTime;
|
||||||
|
ULONG TotalIdleStateTime[3];
|
||||||
|
ULONG TotalIdleTransitions[3];
|
||||||
|
ULONGLONG PreviousC3StateTime;
|
||||||
|
UCHAR KneeThrottleIndex;
|
||||||
|
UCHAR ThrottleLimitIndex;
|
||||||
|
UCHAR PerfStatesCount;
|
||||||
|
UCHAR ProcessorMinThrottle;
|
||||||
|
UCHAR ProcessorMaxThrottle;
|
||||||
|
UCHAR LastBusyPercentage;
|
||||||
|
UCHAR LastC3Percentage;
|
||||||
|
UCHAR LastAdjustedBusyPercentage;
|
||||||
|
ULONG PromotionCount;
|
||||||
|
ULONG DemotionCount;
|
||||||
|
ULONG ErrorCount;
|
||||||
|
ULONG RetryCount;
|
||||||
|
ULONG Flags;
|
||||||
|
LARGE_INTEGER PerfCounterFrequency;
|
||||||
|
ULONG PerfTickCount;
|
||||||
|
KTIMER PerfTimer;
|
||||||
|
KDPC PerfDpc;
|
||||||
|
PROCESSOR_PERF_STATE *PerfStates;
|
||||||
|
PVOID PerfSetThrottle;
|
||||||
|
ULONG LastC3KernelUserTime;
|
||||||
|
ULONG Spare1[1];
|
||||||
|
} PROCESSOR_POWER_STATE, *PPROCESSOR_POWER_STATE;
|
||||||
|
|
||||||
|
#endif
|
69
reactos/include/ndk/psfuncs.h
Normal file
69
reactos/include/ndk/psfuncs.h
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
/* $Id: pstypes.h,v 1.1.2.1 2004/10/25 01:24:07 ion Exp $
|
||||||
|
*
|
||||||
|
* ReactOS Headers
|
||||||
|
* Copyright (C) 1998-2004 ReactOS Team
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/psfuncs.h
|
||||||
|
* PURPOSE: Defintions for Process Manager Functions not documented in DDK/IFS.
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _PSFUNCS_H
|
||||||
|
#define _PSFUNCS_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* FUNCTION TYPES ************************************************************/
|
||||||
|
typedef VOID (STDCALL *PPEBLOCKROUTINE)(PVOID);
|
||||||
|
|
||||||
|
typedef NTSTATUS
|
||||||
|
(STDCALL *PW32_PROCESS_CALLBACK)(
|
||||||
|
struct _EPROCESS *Process,
|
||||||
|
BOOLEAN Create
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef NTSTATUS
|
||||||
|
(STDCALL *PW32_THREAD_CALLBACK)(
|
||||||
|
struct _ETHREAD *Thread,
|
||||||
|
BOOLEAN Create
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/* PROTOTYPES ****************************************************************/
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
PsRevertThreadToSelf(
|
||||||
|
IN struct _ETHREAD* Thread
|
||||||
|
);
|
||||||
|
|
||||||
|
struct _W32THREAD*
|
||||||
|
STDCALL
|
||||||
|
PsGetWin32Thread(
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
struct _W32PROCESS*
|
||||||
|
STDCALL
|
||||||
|
PsGetWin32Process(
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif
|
186
reactos/include/ndk/pstypes.h
Normal file
186
reactos/include/ndk/pstypes.h
Normal file
|
@ -0,0 +1,186 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/pstypes.h
|
||||||
|
* PURPOSE: Defintions for Process Manager Types not documented in DDK/IFS.
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _PSTYPES_H
|
||||||
|
#define _PSTYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
#include "ldrtypes.h"
|
||||||
|
#include "rtltypes.h"
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
|
||||||
|
extern NTOSAPI struct _EPROCESS* PsInitialSystemProcess;
|
||||||
|
extern NTOSAPI POBJECT_TYPE PsProcessType;
|
||||||
|
extern NTOSAPI POBJECT_TYPE PsThreadType;
|
||||||
|
|
||||||
|
/* CONSTANTS *****************************************************************/
|
||||||
|
|
||||||
|
/* These are not exposed to drivers normally */
|
||||||
|
#ifndef _NTOS_MODE_USER
|
||||||
|
#define JOB_OBJECT_ASSIGN_PROCESS (1)
|
||||||
|
#define JOB_OBJECT_SET_ATTRIBUTES (2)
|
||||||
|
#define JOB_OBJECT_QUERY (4)
|
||||||
|
#define JOB_OBJECT_TERMINATE (8)
|
||||||
|
#define JOB_OBJECT_SET_SECURITY_ATTRIBUTES (16)
|
||||||
|
#define JOB_OBJECT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|31)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* FIXME: This was changed in XP... Ask ThomasW about it */
|
||||||
|
#define PROCESS_SET_PORT 0x800
|
||||||
|
|
||||||
|
#define THREAD_ALERT 0x4
|
||||||
|
|
||||||
|
#define USER_SHARED_DATA (0x7FFE0000)
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
|
struct _ETHREAD;
|
||||||
|
|
||||||
|
typedef struct _CURDIR
|
||||||
|
{
|
||||||
|
UNICODE_STRING DosPath;
|
||||||
|
PVOID Handle;
|
||||||
|
} CURDIR, *PCURDIR;
|
||||||
|
|
||||||
|
typedef struct _PEB_FREE_BLOCK
|
||||||
|
{
|
||||||
|
struct _PEB_FREE_BLOCK* Next;
|
||||||
|
ULONG Size;
|
||||||
|
} PEB_FREE_BLOCK, *PPEB_FREE_BLOCK;
|
||||||
|
|
||||||
|
typedef struct _PEB
|
||||||
|
{
|
||||||
|
UCHAR InheritedAddressSpace; /* 00h */
|
||||||
|
UCHAR ReadImageFileExecOptions; /* 01h */
|
||||||
|
UCHAR BeingDebugged; /* 02h */
|
||||||
|
UCHAR Spare; /* 03h */
|
||||||
|
PVOID Mutant; /* 04h */
|
||||||
|
PVOID ImageBaseAddress; /* 08h */
|
||||||
|
PPEB_LDR_DATA Ldr; /* 0Ch */
|
||||||
|
PRTL_USER_PROCESS_PARAMETERS ProcessParameters; /* 10h */
|
||||||
|
PVOID SubSystemData; /* 14h */
|
||||||
|
PVOID ProcessHeap; /* 18h */
|
||||||
|
PVOID FastPebLock; /* 1Ch */
|
||||||
|
PPEBLOCKROUTINE FastPebLockRoutine; /* 20h */
|
||||||
|
PPEBLOCKROUTINE FastPebUnlockRoutine; /* 24h */
|
||||||
|
ULONG EnvironmentUpdateCount; /* 28h */
|
||||||
|
PVOID* KernelCallbackTable; /* 2Ch */
|
||||||
|
PVOID EventLogSection; /* 30h */
|
||||||
|
PVOID EventLog; /* 34h */
|
||||||
|
PPEB_FREE_BLOCK FreeList; /* 38h */
|
||||||
|
ULONG TlsExpansionCounter; /* 3Ch */
|
||||||
|
PVOID TlsBitmap; /* 40h */
|
||||||
|
ULONG TlsBitmapBits[0x2]; /* 44h */
|
||||||
|
PVOID ReadOnlySharedMemoryBase; /* 4Ch */
|
||||||
|
PVOID ReadOnlySharedMemoryHeap; /* 50h */
|
||||||
|
PVOID* ReadOnlyStaticServerData; /* 54h */
|
||||||
|
PVOID AnsiCodePageData; /* 58h */
|
||||||
|
PVOID OemCodePageData; /* 5Ch */
|
||||||
|
PVOID UnicodeCaseTableData; /* 60h */
|
||||||
|
ULONG NumberOfProcessors; /* 64h */
|
||||||
|
ULONG NtGlobalFlag; /* 68h */
|
||||||
|
UCHAR Spare2[0x4]; /* 6Ch */
|
||||||
|
LARGE_INTEGER CriticalSectionTimeout; /* 70h */
|
||||||
|
ULONG HeapSegmentReserve; /* 78h */
|
||||||
|
ULONG HeapSegmentCommit; /* 7Ch */
|
||||||
|
ULONG HeapDeCommitTotalFreeThreshold; /* 80h */
|
||||||
|
ULONG HeapDeCommitFreeBlockThreshold; /* 84h */
|
||||||
|
ULONG NumberOfHeaps; /* 88h */
|
||||||
|
ULONG MaximumNumberOfHeaps; /* 8Ch */
|
||||||
|
PVOID** ProcessHeaps; /* 90h */
|
||||||
|
PVOID GdiSharedHandleTable; /* 94h */
|
||||||
|
PVOID ProcessStarterHelper; /* 98h */
|
||||||
|
PVOID GdiDCAttributeList; /* 9Ch */
|
||||||
|
PVOID LoaderLock; /* A0h */
|
||||||
|
ULONG OSMajorVersion; /* A4h */
|
||||||
|
ULONG OSMinorVersion; /* A8h */
|
||||||
|
USHORT OSBuildNumber; /* ACh */
|
||||||
|
UCHAR SPMajorVersion; /* AEh */
|
||||||
|
UCHAR SPMinorVersion; /* AFh */
|
||||||
|
ULONG OSPlatformId; /* B0h */
|
||||||
|
ULONG ImageSubSystem; /* B4h */
|
||||||
|
ULONG ImageSubSystemMajorVersion; /* B8h */
|
||||||
|
ULONG ImageSubSystemMinorVersion; /* C0h */
|
||||||
|
ULONG GdiHandleBuffer[0x22]; /* C4h */
|
||||||
|
} PEB;
|
||||||
|
|
||||||
|
typedef struct _GDI_TEB_BATCH
|
||||||
|
{
|
||||||
|
ULONG Offset;
|
||||||
|
ULONG HDC;
|
||||||
|
ULONG Buffer[0x136];
|
||||||
|
} GDI_TEB_BATCH, *PGDI_TEB_BATCH;
|
||||||
|
|
||||||
|
typedef struct _TEB
|
||||||
|
{
|
||||||
|
NT_TIB Tib; /* 00h */
|
||||||
|
PVOID EnvironmentPointer; /* 1Ch */
|
||||||
|
CLIENT_ID Cid; /* 20h */
|
||||||
|
PVOID ActiveRpcInfo; /* 28h */
|
||||||
|
PVOID ThreadLocalStoragePointer; /* 2Ch */
|
||||||
|
PPEB Peb; /* 30h */
|
||||||
|
ULONG LastErrorValue; /* 34h */
|
||||||
|
ULONG CountOfOwnedCriticalSections; /* 38h */
|
||||||
|
PVOID CsrClientThread; /* 3Ch */
|
||||||
|
struct _W32THREAD* Win32ThreadInfo; /* 40h */
|
||||||
|
ULONG Win32ClientInfo[0x1F]; /* 44h */
|
||||||
|
PVOID WOW32Reserved; /* C0h */
|
||||||
|
LCID CurrentLocale; /* C4h */
|
||||||
|
ULONG FpSoftwareStatusRegister; /* C8h */
|
||||||
|
PVOID SystemReserved1[0x36]; /* CCh */
|
||||||
|
PVOID Spare1; /* 1A4h */
|
||||||
|
LONG ExceptionCode; /* 1A8h */
|
||||||
|
UCHAR SpareBytes1[0x28]; /* 1ACh */
|
||||||
|
PVOID SystemReserved2[0xA]; /* 1D4h */
|
||||||
|
GDI_TEB_BATCH GdiTebBatch; /* 1FCh */
|
||||||
|
ULONG gdiRgn; /* 6DCh */
|
||||||
|
ULONG gdiPen; /* 6E0h */
|
||||||
|
ULONG gdiBrush; /* 6E4h */
|
||||||
|
CLIENT_ID RealClientId; /* 6E8h */
|
||||||
|
PVOID GdiCachedProcessHandle; /* 6F0h */
|
||||||
|
ULONG GdiClientPID; /* 6F4h */
|
||||||
|
ULONG GdiClientTID; /* 6F8h */
|
||||||
|
PVOID GdiThreadLocaleInfo; /* 6FCh */
|
||||||
|
PVOID UserReserved[5]; /* 700h */
|
||||||
|
PVOID glDispatchTable[0x118]; /* 714h */
|
||||||
|
ULONG glReserved1[0x1A]; /* B74h */
|
||||||
|
PVOID glReserved2; /* BDCh */
|
||||||
|
PVOID glSectionInfo; /* BE0h */
|
||||||
|
PVOID glSection; /* BE4h */
|
||||||
|
PVOID glTable; /* BE8h */
|
||||||
|
PVOID glCurrentRC; /* BECh */
|
||||||
|
PVOID glContext; /* BF0h */
|
||||||
|
NTSTATUS LastStatusValue; /* BF4h */
|
||||||
|
UNICODE_STRING StaticUnicodeString; /* BF8h */
|
||||||
|
WCHAR StaticUnicodeBuffer[0x105]; /* C00h */
|
||||||
|
PVOID DeallocationStack; /* E0Ch */
|
||||||
|
PVOID TlsSlots[0x40]; /* E10h */
|
||||||
|
LIST_ENTRY TlsLinks; /* F10h */
|
||||||
|
PVOID Vdm; /* F18h */
|
||||||
|
PVOID ReservedForNtRpc; /* F1Ch */
|
||||||
|
PVOID DbgSsReserved[0x2]; /* F20h */
|
||||||
|
ULONG HardErrorDisabled; /* F28h */
|
||||||
|
PVOID Instrumentation[0x10]; /* F2Ch */
|
||||||
|
PVOID WinSockData; /* F6Ch */
|
||||||
|
ULONG GdiBatchCount; /* F70h */
|
||||||
|
USHORT Spare2; /* F74h */
|
||||||
|
BOOLEAN IsFiber; /* F76h */
|
||||||
|
UCHAR Spare3; /* F77h */
|
||||||
|
ULONG Spare4; /* F78h */
|
||||||
|
ULONG Spare5; /* F7Ch */
|
||||||
|
PVOID ReservedForOle; /* F80h */
|
||||||
|
ULONG WaitingOnLoaderLock; /* F84h */
|
||||||
|
ULONG Unknown[11]; /* F88h */
|
||||||
|
PVOID FlsSlots; /* FB4h */
|
||||||
|
PVOID WineDebugInfo; /* Needed for WINE DLL's */
|
||||||
|
} TEB, *PTEB;
|
||||||
|
|
||||||
|
#endif
|
956
reactos/include/ndk/rtlfuncs.h
Normal file
956
reactos/include/ndk/rtlfuncs.h
Normal file
|
@ -0,0 +1,956 @@
|
||||||
|
/* $Id: rtlfuncs.h,v 1.1.2.2 2004/10/25 02:57:20 ion Exp $
|
||||||
|
*
|
||||||
|
* ReactOS Headers
|
||||||
|
* Copyright (C) 1998-2004 ReactOS Team
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/rtlfuncs.h
|
||||||
|
* PURPOSE: Prototypes for Runtime Library Functions not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _RTLFUNCS_H
|
||||||
|
#define _RTLFUNCS_H
|
||||||
|
|
||||||
|
#include <ndk/rtltypes.h>
|
||||||
|
|
||||||
|
/*FIXME: REORGANIZE THIS */
|
||||||
|
/* FIXME: SOME FUNCTIONS MUST BE PROTECTED AGAINST DDK/IFS. */
|
||||||
|
|
||||||
|
typedef NTSTATUS
|
||||||
|
(*PHEAP_ENUMERATION_ROUTINE)(IN PVOID HeapHandle,
|
||||||
|
IN PVOID UserParam);
|
||||||
|
|
||||||
|
typedef EXCEPTION_DISPOSITION
|
||||||
|
(*PEXCEPTION_HANDLER)(struct _EXCEPTION_RECORD*,
|
||||||
|
PVOID,
|
||||||
|
struct _CONTEXT*,
|
||||||
|
PVOID);
|
||||||
|
|
||||||
|
|
||||||
|
#define RtlGetProcessHeap() (NtCurrentPeb()->ProcessHeap)
|
||||||
|
|
||||||
|
#define InsertAscendingListFIFO(ListHead, Type, ListEntryField, NewEntry, SortField)\
|
||||||
|
{\
|
||||||
|
PLIST_ENTRY current;\
|
||||||
|
\
|
||||||
|
current = (ListHead)->Flink;\
|
||||||
|
while (current != (ListHead))\
|
||||||
|
{\
|
||||||
|
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField >\
|
||||||
|
(NewEntry)->SortField)\
|
||||||
|
{\
|
||||||
|
break;\
|
||||||
|
}\
|
||||||
|
current = current->Flink;\
|
||||||
|
}\
|
||||||
|
\
|
||||||
|
InsertTailList(current, &((NewEntry)->ListEntryField));\
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#define InsertDescendingListFIFO(ListHead, Type, ListEntryField, NewEntry, SortField)\
|
||||||
|
{\
|
||||||
|
PLIST_ENTRY current;\
|
||||||
|
\
|
||||||
|
current = (ListHead)->Flink;\
|
||||||
|
while (current != (ListHead))\
|
||||||
|
{\
|
||||||
|
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField <\
|
||||||
|
(NewEntry)->SortField)\
|
||||||
|
{\
|
||||||
|
break;\
|
||||||
|
}\
|
||||||
|
current = current->Flink;\
|
||||||
|
}\
|
||||||
|
\
|
||||||
|
InsertTailList(current, &((NewEntry)->ListEntryField));\
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#define InsertAscendingList(ListHead, Type, ListEntryField, NewEntry, SortField)\
|
||||||
|
{\
|
||||||
|
PLIST_ENTRY current;\
|
||||||
|
\
|
||||||
|
current = (ListHead)->Flink;\
|
||||||
|
while (current != (ListHead))\
|
||||||
|
{\
|
||||||
|
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField >=\
|
||||||
|
(NewEntry)->SortField)\
|
||||||
|
{\
|
||||||
|
break;\
|
||||||
|
}\
|
||||||
|
current = current->Flink;\
|
||||||
|
}\
|
||||||
|
\
|
||||||
|
InsertTailList(current, &((NewEntry)->ListEntryField));\
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#define InsertDescendingList(ListHead, Type, ListEntryField, NewEntry, SortField)\
|
||||||
|
{\
|
||||||
|
PLIST_ENTRY current;\
|
||||||
|
\
|
||||||
|
current = (ListHead)->Flink;\
|
||||||
|
while (current != (ListHead))\
|
||||||
|
{\
|
||||||
|
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField <=\
|
||||||
|
(NewEntry)->SortField)\
|
||||||
|
{\
|
||||||
|
break;\
|
||||||
|
}\
|
||||||
|
current = current->Flink;\
|
||||||
|
}\
|
||||||
|
\
|
||||||
|
InsertTailList(current, &((NewEntry)->ListEntryField));\
|
||||||
|
}
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
DbgPrint(
|
||||||
|
IN PCH Format,
|
||||||
|
IN ...);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
DbgBreakPoint(VOID);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlAbsoluteToSelfRelativeSD (
|
||||||
|
IN PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor,
|
||||||
|
IN OUT PSECURITY_DESCRIPTOR_RELATIVE SelfRelativeSecurityDescriptor,
|
||||||
|
IN PULONG BufferLength
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlAddAccessAllowedAce (
|
||||||
|
PACL Acl,
|
||||||
|
ULONG Revision,
|
||||||
|
ACCESS_MASK AccessMask,
|
||||||
|
PSID Sid
|
||||||
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlAllocateHeap (
|
||||||
|
IN HANDLE HeapHandle,
|
||||||
|
IN ULONG Flags,
|
||||||
|
IN ULONG Size
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlAppendUnicodeToString (
|
||||||
|
PUNICODE_STRING Destination,
|
||||||
|
PCWSTR Source
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlAppendUnicodeStringToString (
|
||||||
|
PUNICODE_STRING Destination,
|
||||||
|
PUNICODE_STRING Source
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlAddAtomToAtomTable (
|
||||||
|
IN PRTL_ATOM_TABLE AtomTable,
|
||||||
|
IN PWSTR AtomName,
|
||||||
|
OUT PRTL_ATOM Atom
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlCopyLuid(
|
||||||
|
IN PLUID LuidDest,
|
||||||
|
IN PLUID LuidSrc
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlCopyLuidAndAttributesArray(
|
||||||
|
ULONG Count,
|
||||||
|
PLUID_AND_ATTRIBUTES Src,
|
||||||
|
PLUID_AND_ATTRIBUTES Dest
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlCopySidAndAttributesArray(
|
||||||
|
ULONG Count,
|
||||||
|
PSID_AND_ATTRIBUTES Src,
|
||||||
|
ULONG SidAreaSize,
|
||||||
|
PSID_AND_ATTRIBUTES Dest,
|
||||||
|
PVOID SidArea,
|
||||||
|
PVOID* RemainingSidArea,
|
||||||
|
PULONG RemainingSidAreaSize
|
||||||
|
);
|
||||||
|
|
||||||
|
SIZE_T
|
||||||
|
STDCALL
|
||||||
|
RtlCompareMemory(IN const VOID *Source1,
|
||||||
|
IN const VOID *Source2,
|
||||||
|
IN SIZE_T Length);
|
||||||
|
|
||||||
|
LONG
|
||||||
|
STDCALL
|
||||||
|
RtlCompareUnicodeString (
|
||||||
|
PUNICODE_STRING String1,
|
||||||
|
PUNICODE_STRING String2,
|
||||||
|
BOOLEAN CaseInsensitive
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlEqualUnicodeString (
|
||||||
|
PUNICODE_STRING String1,
|
||||||
|
PUNICODE_STRING String2,
|
||||||
|
BOOLEAN CaseInsensitive
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlAcquirePebLock (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlReleasePebLock (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlCompressBuffer (
|
||||||
|
IN USHORT CompressionFormatAndEngine,
|
||||||
|
IN PUCHAR UncompressedBuffer,
|
||||||
|
IN ULONG UncompressedBufferSize,
|
||||||
|
OUT PUCHAR CompressedBuffer,
|
||||||
|
IN ULONG CompressedBufferSize,
|
||||||
|
IN ULONG UncompressedChunkSize,
|
||||||
|
OUT PULONG FinalCompressedSize,
|
||||||
|
IN PVOID WorkSpace
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlConvertSidToUnicodeString (
|
||||||
|
OUT PUNICODE_STRING DestinationString,
|
||||||
|
IN PSID Sid,
|
||||||
|
IN BOOLEAN AllocateDestinationString
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlCopySid (
|
||||||
|
IN ULONG Length,
|
||||||
|
IN PSID Destination,
|
||||||
|
IN PSID Source
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlCreateAcl(
|
||||||
|
PACL Acl,
|
||||||
|
ULONG AclSize,
|
||||||
|
ULONG AclRevision
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlCreateAtomTable(
|
||||||
|
IN ULONG TableSize,
|
||||||
|
IN OUT PRTL_ATOM_TABLE *AtomTable
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlCreateUserThread (
|
||||||
|
IN HANDLE ProcessHandle,
|
||||||
|
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||||
|
IN BOOLEAN CreateSuspended,
|
||||||
|
IN LONG StackZeroBits,
|
||||||
|
IN OUT PULONG StackReserve,
|
||||||
|
IN OUT PULONG StackCommit,
|
||||||
|
IN PTHREAD_START_ROUTINE StartAddress,
|
||||||
|
IN PVOID Parameter,
|
||||||
|
IN OUT PHANDLE ThreadHandle,
|
||||||
|
IN OUT PCLIENT_ID ClientId
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlCreateUnicodeString(
|
||||||
|
OUT PUNICODE_STRING DestinationString,
|
||||||
|
IN PCWSTR SourceString
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlDecompressBuffer (
|
||||||
|
IN USHORT CompressionFormat,
|
||||||
|
OUT PUCHAR UncompressedBuffer,
|
||||||
|
IN ULONG UncompressedBufferSize,
|
||||||
|
IN PUCHAR CompressedBuffer,
|
||||||
|
IN ULONG CompressedBufferSize,
|
||||||
|
OUT PULONG FinalUncompressedSize
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlExpandEnvironmentStrings_U (
|
||||||
|
PWSTR Environment,
|
||||||
|
PUNICODE_STRING Source,
|
||||||
|
PUNICODE_STRING Destination,
|
||||||
|
PULONG Length
|
||||||
|
);
|
||||||
|
|
||||||
|
PRTL_USER_PROCESS_PARAMETERS
|
||||||
|
STDCALL
|
||||||
|
RtlDeNormalizeProcessParams (
|
||||||
|
IN PRTL_USER_PROCESS_PARAMETERS ProcessParameters
|
||||||
|
);
|
||||||
|
|
||||||
|
PRTL_USER_PROCESS_PARAMETERS
|
||||||
|
STDCALL
|
||||||
|
RtlNormalizeProcessParams (
|
||||||
|
IN PRTL_USER_PROCESS_PARAMETERS ProcessParameters
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlDeleteAtomFromAtomTable (
|
||||||
|
IN PRTL_ATOM_TABLE AtomTable,
|
||||||
|
IN RTL_ATOM Atom
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlDeleteCriticalSection (
|
||||||
|
PRTL_CRITICAL_SECTION CriticalSection
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlDestroyAtomTable (
|
||||||
|
IN PRTL_ATOM_TABLE AtomTable
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlEnterCriticalSection (
|
||||||
|
PRTL_CRITICAL_SECTION CriticalSection
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlInitializeCriticalSection (
|
||||||
|
PRTL_CRITICAL_SECTION CriticalSection
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlLeaveCriticalSection (
|
||||||
|
PRTL_CRITICAL_SECTION CriticalSection
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlInitializeBitMap(
|
||||||
|
IN PRTL_BITMAP BitMapHeader,
|
||||||
|
IN PULONG BitMapBuffer,
|
||||||
|
IN ULONG SizeOfBitMap);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlAreBitsClear(
|
||||||
|
IN PRTL_BITMAP BitMapHeader,
|
||||||
|
IN ULONG StartingIndex,
|
||||||
|
IN ULONG Length);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlAreBitsSet(
|
||||||
|
IN PRTL_BITMAP BitMapHeader,
|
||||||
|
IN ULONG StartingIndex,
|
||||||
|
IN ULONG Length);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlMultiByteToUnicodeN (
|
||||||
|
PWCHAR UnicodeString,
|
||||||
|
ULONG UnicodeSize,
|
||||||
|
PULONG ResultSize,
|
||||||
|
const PCHAR MbString,
|
||||||
|
ULONG MbSize
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlMultiByteToUnicodeSize (
|
||||||
|
PULONG UnicodeSize,
|
||||||
|
PCHAR MbString,
|
||||||
|
ULONG MbSize
|
||||||
|
);
|
||||||
|
|
||||||
|
CHAR STDCALL
|
||||||
|
RtlUpperChar (CHAR Source);
|
||||||
|
|
||||||
|
WCHAR
|
||||||
|
STDCALL
|
||||||
|
RtlUpcaseUnicodeChar (
|
||||||
|
WCHAR Source
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlAnsiStringToUnicodeString (
|
||||||
|
PUNICODE_STRING DestinationString,
|
||||||
|
PANSI_STRING SourceString,
|
||||||
|
BOOLEAN AllocateDestinationString
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlUnicodeToMultiByteN (
|
||||||
|
PCHAR MbString,
|
||||||
|
ULONG MbSize,
|
||||||
|
PULONG ResultSize,
|
||||||
|
PWCHAR UnicodeString,
|
||||||
|
ULONG UnicodeSize
|
||||||
|
);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlOemStringToUnicodeSize (
|
||||||
|
POEM_STRING AnsiString
|
||||||
|
);
|
||||||
|
|
||||||
|
WCHAR STDCALL
|
||||||
|
RtlDowncaseUnicodeChar(IN WCHAR Source);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlUpcaseUnicodeToMultiByteN (
|
||||||
|
PCHAR MbString,
|
||||||
|
ULONG MbSize,
|
||||||
|
PULONG ResultSize,
|
||||||
|
PWCHAR UnicodeString,
|
||||||
|
ULONG UnicodeSize
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlUnicodeToMultiByteSize (
|
||||||
|
PULONG MbSize,
|
||||||
|
PWCHAR UnicodeString,
|
||||||
|
ULONG UnicodeSize
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlOemToUnicodeN(
|
||||||
|
PWSTR UnicodeString,
|
||||||
|
ULONG MaxBytesInUnicodeString,
|
||||||
|
PULONG BytesInUnicodeString,
|
||||||
|
IN PCHAR OemString,
|
||||||
|
ULONG BytesInOemString
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlUnicodeToOemN (
|
||||||
|
PCHAR OemString,
|
||||||
|
ULONG OemSize,
|
||||||
|
PULONG ResultSize,
|
||||||
|
PWCHAR UnicodeString,
|
||||||
|
ULONG UnicodeSize
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlUpcaseUnicodeStringToOemString (
|
||||||
|
IN OUT POEM_STRING DestinationString,
|
||||||
|
IN PUNICODE_STRING SourceString,
|
||||||
|
IN BOOLEAN AllocateDestinationString
|
||||||
|
);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlUnicodeStringToAnsiSize (
|
||||||
|
IN PUNICODE_STRING UnicodeString
|
||||||
|
);
|
||||||
|
|
||||||
|
#ifndef _NTIFS_
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlEqualSid (
|
||||||
|
IN PSID Sid1,
|
||||||
|
IN PSID Sid2
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlFillMemoryUlong (
|
||||||
|
IN PVOID Destination,
|
||||||
|
IN ULONG Length,
|
||||||
|
IN ULONG Fill
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlFindMessage (
|
||||||
|
IN PVOID BaseAddress,
|
||||||
|
IN ULONG Type,
|
||||||
|
IN ULONG Language,
|
||||||
|
IN ULONG MessageId,
|
||||||
|
OUT PRTL_MESSAGE_RESOURCE_ENTRY *MessageResourceEntry
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlFreeHeap (
|
||||||
|
IN HANDLE HeapHandle,
|
||||||
|
IN ULONG Flags,
|
||||||
|
IN PVOID P
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlFreeUnicodeString(
|
||||||
|
IN PUNICODE_STRING UnicodeString);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlFreeOemString(
|
||||||
|
IN POEM_STRING OemString
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlGetCompressionWorkSpaceSize (
|
||||||
|
IN USHORT CompressionFormatAndEngine,
|
||||||
|
OUT PULONG CompressBufferWorkSpaceSize,
|
||||||
|
OUT PULONG CompressFragmentWorkSpaceSize
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlGetDaclSecurityDescriptor (
|
||||||
|
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||||
|
OUT PBOOLEAN DaclPresent,
|
||||||
|
OUT PACL *Dacl,
|
||||||
|
OUT PBOOLEAN DaclDefaulted
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlGetGroupSecurityDescriptor (
|
||||||
|
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||||
|
OUT PSID *Group,
|
||||||
|
OUT PBOOLEAN GroupDefaulted
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlGetOwnerSecurityDescriptor (
|
||||||
|
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||||
|
OUT PSID *Owner,
|
||||||
|
OUT PBOOLEAN OwnerDefaulted
|
||||||
|
);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlImageRvaToVa (
|
||||||
|
PIMAGE_NT_HEADERS NtHeader,
|
||||||
|
PVOID BaseAddress,
|
||||||
|
ULONG Rva,
|
||||||
|
PIMAGE_SECTION_HEADER *SectionHeader
|
||||||
|
);
|
||||||
|
|
||||||
|
PIMAGE_NT_HEADERS
|
||||||
|
STDCALL
|
||||||
|
RtlImageNtHeader (
|
||||||
|
IN PVOID BaseAddress
|
||||||
|
);
|
||||||
|
|
||||||
|
PIMAGE_SECTION_HEADER
|
||||||
|
STDCALL
|
||||||
|
RtlImageRvaToSection (
|
||||||
|
PIMAGE_NT_HEADERS NtHeader,
|
||||||
|
PVOID BaseAddress,
|
||||||
|
ULONG Rva
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlInitializeSid (
|
||||||
|
IN OUT PSID Sid,
|
||||||
|
IN PSID_IDENTIFIER_AUTHORITY IdentifierAuthority,
|
||||||
|
IN UCHAR SubAuthorityCount
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlInitNlsTables (
|
||||||
|
IN PUSHORT AnsiTableBase,
|
||||||
|
IN PUSHORT OemTableBase,
|
||||||
|
IN PUSHORT CaseTableBase,
|
||||||
|
OUT PNLSTABLEINFO NlsTable
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlGetSaclSecurityDescriptor (
|
||||||
|
PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||||
|
PBOOLEAN SaclPresent,
|
||||||
|
PACL* Sacl,
|
||||||
|
PBOOLEAN SaclDefaulted
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlQueryAtomInAtomTable (
|
||||||
|
IN PRTL_ATOM_TABLE AtomTable,
|
||||||
|
IN RTL_ATOM Atom,
|
||||||
|
IN OUT PULONG RefCount OPTIONAL,
|
||||||
|
IN OUT PULONG PinCount OPTIONAL,
|
||||||
|
IN OUT PWSTR AtomName OPTIONAL,
|
||||||
|
IN OUT PULONG NameLength OPTIONAL
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlLookupAtomInAtomTable (
|
||||||
|
IN PRTL_ATOM_TABLE AtomTable,
|
||||||
|
IN PWSTR AtomName,
|
||||||
|
OUT PRTL_ATOM Atom
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlResetRtlTranslations (
|
||||||
|
IN PNLSTABLEINFO NlsTable
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlRaiseException (
|
||||||
|
IN PEXCEPTION_RECORD ExceptionRecord
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlInitUnicodeString(
|
||||||
|
IN OUT PUNICODE_STRING DestinationString,
|
||||||
|
IN PCWSTR SourceString);
|
||||||
|
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlIsNameLegalDOS8Dot3 (
|
||||||
|
IN PUNICODE_STRING UnicodeName,
|
||||||
|
IN PANSI_STRING AnsiName,
|
||||||
|
PBOOLEAN Unknown
|
||||||
|
);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlLengthRequiredSid (
|
||||||
|
IN UCHAR SubAuthorityCount
|
||||||
|
);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlLengthSid (
|
||||||
|
IN PSID Sid
|
||||||
|
);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlNtStatusToDosError (
|
||||||
|
IN NTSTATUS Status
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS STDCALL
|
||||||
|
RtlFormatCurrentUserKeyPath (IN OUT PUNICODE_STRING KeyPath);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlQueryEnvironmentVariable_U (
|
||||||
|
PWSTR Environment,
|
||||||
|
PUNICODE_STRING Name,
|
||||||
|
PUNICODE_STRING Value
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlQueryTimeZoneInformation (
|
||||||
|
IN OUT PTIME_ZONE_INFORMATION TimeZoneInformation
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID STDCALL RtlRaiseStatus(NTSTATUS Status);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlSecondsSince1970ToTime (
|
||||||
|
IN ULONG SecondsSince1970,
|
||||||
|
OUT PLARGE_INTEGER Time
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlSetBits (
|
||||||
|
PRTL_BITMAP BitMapHeader,
|
||||||
|
ULONG StartingIndex,
|
||||||
|
ULONG NumberToSet
|
||||||
|
);
|
||||||
|
|
||||||
|
#if (VER_PRODUCTBUILD >= 2195)
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlSelfRelativeToAbsoluteSD (
|
||||||
|
IN PSECURITY_DESCRIPTOR SelfRelativeSD,
|
||||||
|
OUT PSECURITY_DESCRIPTOR AbsoluteSD,
|
||||||
|
IN PULONG AbsoluteSDSize,
|
||||||
|
IN PACL Dacl,
|
||||||
|
IN PULONG DaclSize,
|
||||||
|
IN PACL Sacl,
|
||||||
|
IN PULONG SaclSize,
|
||||||
|
IN PSID Owner,
|
||||||
|
IN PULONG OwnerSize,
|
||||||
|
IN PSID PrimaryGroup,
|
||||||
|
IN PULONG PrimaryGroupSize
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlSetGroupSecurityDescriptor (
|
||||||
|
IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||||
|
IN PSID Group,
|
||||||
|
IN BOOLEAN GroupDefaulted
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlSetOwnerSecurityDescriptor (
|
||||||
|
IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||||
|
IN PSID Owner,
|
||||||
|
IN BOOLEAN OwnerDefaulted
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlSetSaclSecurityDescriptor (
|
||||||
|
IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||||
|
IN BOOLEAN SaclPresent,
|
||||||
|
IN PACL Sacl,
|
||||||
|
IN BOOLEAN SaclDefaulted
|
||||||
|
);
|
||||||
|
|
||||||
|
PUCHAR
|
||||||
|
STDCALL
|
||||||
|
RtlSubAuthorityCountSid (
|
||||||
|
IN PSID Sid
|
||||||
|
);
|
||||||
|
|
||||||
|
PULONG
|
||||||
|
STDCALL
|
||||||
|
RtlSubAuthoritySid (
|
||||||
|
IN PSID Sid,
|
||||||
|
IN ULONG SubAuthority
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlUpcaseUnicodeStringToCountedOemString (
|
||||||
|
IN OUT POEM_STRING DestinationString,
|
||||||
|
IN PUNICODE_STRING SourceString,
|
||||||
|
IN BOOLEAN AllocateDestinationString
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlUnicodeStringToOemString (
|
||||||
|
IN OUT POEM_STRING DestinationString,
|
||||||
|
IN PUNICODE_STRING SourceString,
|
||||||
|
IN BOOLEAN AllocateDestinationString
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlUpcaseUnicodeToOemN (
|
||||||
|
PCHAR OemString,
|
||||||
|
ULONG OemSize,
|
||||||
|
PULONG ResultSize,
|
||||||
|
PWCHAR UnicodeString,
|
||||||
|
ULONG UnicodeSize
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
NTSTATUS STDCALL
|
||||||
|
RtlLargeIntegerToChar (
|
||||||
|
IN PLARGE_INTEGER Value,
|
||||||
|
IN ULONG Base,
|
||||||
|
IN ULONG Length,
|
||||||
|
IN OUT PCHAR String
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlCreateUnicodeStringFromAsciiz (OUT PUNICODE_STRING Destination,
|
||||||
|
IN PCSZ Source);
|
||||||
|
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlTimeFieldsToTime (
|
||||||
|
PTIME_FIELDS TimeFields,
|
||||||
|
PLARGE_INTEGER Time
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlTimeToTimeFields (
|
||||||
|
PLARGE_INTEGER Time,
|
||||||
|
PTIME_FIELDS TimeFields
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlQueryRegistryValues (
|
||||||
|
IN ULONG RelativeTo,
|
||||||
|
IN PCWSTR Path,
|
||||||
|
IN PRTL_QUERY_REGISTRY_TABLE QueryTable,
|
||||||
|
IN PVOID Context,
|
||||||
|
IN PVOID Environment
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlWriteRegistryValue (
|
||||||
|
ULONG RelativeTo,
|
||||||
|
PCWSTR Path,
|
||||||
|
PCWSTR ValueName,
|
||||||
|
ULONG ValueType,
|
||||||
|
PVOID ValueData,
|
||||||
|
ULONG ValueLength
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlUnwind (
|
||||||
|
PEXCEPTION_REGISTRATION RegistrationFrame,
|
||||||
|
PVOID ReturnAddress,
|
||||||
|
PEXCEPTION_RECORD ExceptionRecord,
|
||||||
|
DWORD EaxValue
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlValidSid (
|
||||||
|
IN PSID Sid
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlValidAcl (
|
||||||
|
PACL Acl
|
||||||
|
);
|
||||||
|
|
||||||
|
/* functions exported from NTOSKRNL.EXE which are considered RTL */
|
||||||
|
char *_itoa (int value, char *string, int radix);
|
||||||
|
wchar_t *_itow (int value, wchar_t *string, int radix);
|
||||||
|
int _snprintf(char * buf, size_t cnt, const char *fmt, ...);
|
||||||
|
int _snwprintf(wchar_t *buf, size_t cnt, const wchar_t *fmt, ...);
|
||||||
|
int _stricmp(const char *s1, const char *s2);
|
||||||
|
char * _strlwr(char *x);
|
||||||
|
int _strnicmp(const char *s1, const char *s2, size_t n);
|
||||||
|
char * _strnset(char* szToFill, int szFill, size_t sizeMaxFill);
|
||||||
|
char * _strrev(char *s);
|
||||||
|
char * _strset(char* szToFill, int szFill);
|
||||||
|
char * _strupr(char *x);
|
||||||
|
int _vsnprintf(char *buf, size_t cnt, const char *fmt, va_list args);
|
||||||
|
int _wcsicmp (const wchar_t* cs, const wchar_t* ct);
|
||||||
|
wchar_t * _wcslwr (wchar_t *x);
|
||||||
|
int _wcsnicmp (const wchar_t * cs,const wchar_t * ct,size_t count);
|
||||||
|
wchar_t* _wcsnset (wchar_t* wsToFill, wchar_t wcFill, size_t sizeMaxFill);
|
||||||
|
wchar_t * _wcsrev(wchar_t *s);
|
||||||
|
wchar_t *_wcsupr(wchar_t *x);
|
||||||
|
|
||||||
|
int atoi(const char *str);
|
||||||
|
long atol(const char *str);
|
||||||
|
int isdigit(int c);
|
||||||
|
int islower(int c);
|
||||||
|
int isprint(int c);
|
||||||
|
int isspace(int c);
|
||||||
|
int isupper(int c);
|
||||||
|
int isxdigit(int c);
|
||||||
|
size_t mbstowcs (wchar_t *wcstr, const char *mbstr, size_t count);
|
||||||
|
int mbtowc (wchar_t *wchar, const char *mbchar, size_t count);
|
||||||
|
void * memchr(const void *s, int c, size_t n);
|
||||||
|
void * memcpy(void *to, const void *from, size_t count);
|
||||||
|
void * memmove(void *dest,const void *src, size_t count);
|
||||||
|
void * memset(void *src, int val, size_t count);
|
||||||
|
|
||||||
|
int rand(void);
|
||||||
|
int sprintf(char * buf, const char *fmt, ...);
|
||||||
|
void srand(unsigned seed);
|
||||||
|
char * strcat(char *s, const char *append);
|
||||||
|
char * strchr(const char *s, int c);
|
||||||
|
int strcmp(const char *s1, const char *s2);
|
||||||
|
char * strcpy(char *to, const char *from);
|
||||||
|
size_t strlen(const char *str);
|
||||||
|
char * strncat(char *dst, const char *src, size_t n);
|
||||||
|
int strncmp(const char *s1, const char *s2, size_t n);
|
||||||
|
char *strncpy(char *dst, const char *src, size_t n);
|
||||||
|
char *strrchr(const char *s, int c);
|
||||||
|
size_t strspn(const char *s1, const char *s2);
|
||||||
|
char *strstr(const char *s, const char *find);
|
||||||
|
int swprintf(wchar_t *buf, const wchar_t *fmt, ...);
|
||||||
|
int tolower(int c);
|
||||||
|
int toupper(int c);
|
||||||
|
wchar_t towlower(wchar_t c);
|
||||||
|
wchar_t towupper(wchar_t c);
|
||||||
|
int vsprintf(char *buf, const char *fmt, va_list args);
|
||||||
|
wchar_t * wcscat(wchar_t *dest, const wchar_t *src);
|
||||||
|
wchar_t * wcschr(const wchar_t *str, wchar_t ch);
|
||||||
|
int wcscmp(const wchar_t *cs, const wchar_t *ct);
|
||||||
|
wchar_t* wcscpy(wchar_t* str1, const wchar_t* str2);
|
||||||
|
size_t wcscspn(const wchar_t *str,const wchar_t *reject);
|
||||||
|
size_t wcslen(const wchar_t *s);
|
||||||
|
wchar_t * wcsncat(wchar_t *dest, const wchar_t *src, size_t count);
|
||||||
|
int wcsncmp(const wchar_t *cs, const wchar_t *ct, size_t count);
|
||||||
|
wchar_t * wcsncpy(wchar_t *dest, const wchar_t *src, size_t count);
|
||||||
|
wchar_t * wcsrchr(const wchar_t *str, wchar_t ch);
|
||||||
|
size_t wcsspn(const wchar_t *str,const wchar_t *accept);
|
||||||
|
wchar_t *wcsstr(const wchar_t *s,const wchar_t *b);
|
||||||
|
size_t wcstombs (char *mbstr, const wchar_t *wcstr, size_t count);
|
||||||
|
int wctomb (char *mbchar, wchar_t wchar);
|
||||||
|
|
||||||
|
#endif
|
208
reactos/include/ndk/rtltypes.h
Normal file
208
reactos/include/ndk/rtltypes.h
Normal file
|
@ -0,0 +1,208 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/rtltypes.h
|
||||||
|
* PURPOSE: Defintions for Runtime Library Types not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _RTLTYPES_H
|
||||||
|
#define _RTLTYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
#include "zwtypes.h"
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
|
||||||
|
/* CONSTANTS *****************************************************************/
|
||||||
|
#define MAXIMUM_LEADBYTES 12
|
||||||
|
|
||||||
|
#define PPF_NORMALIZED (1)
|
||||||
|
|
||||||
|
#define PEB_BASE (0x7FFDF000)
|
||||||
|
|
||||||
|
#define EXCEPTION_UNWINDING 0x02
|
||||||
|
#define EXCEPTION_EXIT_UNWIND 0x04
|
||||||
|
#define EXCEPTION_STACK_INVALID 0x8
|
||||||
|
#define EXCEPTION_NESTED_CALL 0x10
|
||||||
|
#define EXCEPTION_TARGET_UNWIND 0x20
|
||||||
|
#define EXCEPTION_COLLIDED_UNWIND 0x20
|
||||||
|
|
||||||
|
#define EH_NONCONTINUABLE 0x01
|
||||||
|
#define EH_UNWINDING 0x02
|
||||||
|
#define EH_EXIT_UNWIND 0x04
|
||||||
|
#define EH_STACK_INVALID 0x08
|
||||||
|
#define EH_NESTED_CALL 0x10
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
ExceptionContinueExecution,
|
||||||
|
ExceptionContinueSearch,
|
||||||
|
ExceptionNestedException,
|
||||||
|
ExceptionCollidedUnwind
|
||||||
|
} EXCEPTION_DISPOSITION;
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
|
typedef unsigned short RTL_ATOM;
|
||||||
|
typedef unsigned short *PRTL_ATOM;
|
||||||
|
|
||||||
|
typedef struct _ACE
|
||||||
|
{
|
||||||
|
ACE_HEADER Header;
|
||||||
|
ACCESS_MASK AccessMask;
|
||||||
|
} ACE, *PACE;
|
||||||
|
|
||||||
|
typedef struct _EXCEPTION_REGISTRATION
|
||||||
|
{
|
||||||
|
struct _EXCEPTION_REGISTRATION* prev;
|
||||||
|
PEXCEPTION_HANDLER handler;
|
||||||
|
} EXCEPTION_REGISTRATION, *PEXCEPTION_REGISTRATION;
|
||||||
|
|
||||||
|
typedef EXCEPTION_REGISTRATION EXCEPTION_REGISTRATION_RECORD;
|
||||||
|
typedef PEXCEPTION_REGISTRATION PEXCEPTION_REGISTRATION_RECORD;
|
||||||
|
|
||||||
|
typedef struct RTL_DRIVE_LETTER_CURDIR
|
||||||
|
{
|
||||||
|
USHORT Flags;
|
||||||
|
USHORT Length;
|
||||||
|
ULONG TimeStamp;
|
||||||
|
UNICODE_STRING DosPath;
|
||||||
|
} RTL_DRIVE_LETTER_CURDIR, *PRTL_DRIVE_LETTER_CURDIR;
|
||||||
|
|
||||||
|
typedef struct _RTL_HEAP_DEFINITION
|
||||||
|
{
|
||||||
|
ULONG Length;
|
||||||
|
ULONG Unknown[11];
|
||||||
|
} RTL_HEAP_DEFINITION, *PRTL_HEAP_DEFINITION;
|
||||||
|
|
||||||
|
typedef struct _RTL_MESSAGE_RESOURCE_ENTRY
|
||||||
|
{
|
||||||
|
USHORT Length;
|
||||||
|
USHORT Flags;
|
||||||
|
UCHAR Text[1];
|
||||||
|
} RTL_MESSAGE_RESOURCE_ENTRY, *PRTL_MESSAGE_RESOURCE_ENTRY;
|
||||||
|
|
||||||
|
typedef struct _RTL_MESSAGE_RESOURCE_BLOCK
|
||||||
|
{
|
||||||
|
ULONG LowId;
|
||||||
|
ULONG HighId;
|
||||||
|
ULONG OffsetToEntries;
|
||||||
|
} RTL_MESSAGE_RESOURCE_BLOCK, *PRTL_MESSAGE_RESOURCE_BLOCK;
|
||||||
|
|
||||||
|
typedef struct _RTL_MESSAGE_RESOURCE_DATA
|
||||||
|
{
|
||||||
|
ULONG NumberOfBlocks;
|
||||||
|
RTL_MESSAGE_RESOURCE_BLOCK Blocks[1];
|
||||||
|
} RTL_MESSAGE_RESOURCE_DATA, *PRTL_MESSAGE_RESOURCE_DATA;
|
||||||
|
|
||||||
|
typedef struct _NLS_FILE_HEADER
|
||||||
|
{
|
||||||
|
USHORT HeaderSize;
|
||||||
|
USHORT CodePage;
|
||||||
|
USHORT MaximumCharacterSize; /* SBCS = 1, DBCS = 2 */
|
||||||
|
USHORT DefaultChar;
|
||||||
|
USHORT UniDefaultChar;
|
||||||
|
USHORT TransDefaultChar;
|
||||||
|
USHORT TransUniDefaultChar;
|
||||||
|
USHORT DBCSCodePage;
|
||||||
|
UCHAR LeadByte[MAXIMUM_LEADBYTES];
|
||||||
|
} NLS_FILE_HEADER, *PNLS_FILE_HEADER;
|
||||||
|
|
||||||
|
typedef struct _RTL_USER_PROCESS_PARAMETERS
|
||||||
|
{
|
||||||
|
ULONG AllocationSize;
|
||||||
|
ULONG Size;
|
||||||
|
ULONG Flags;
|
||||||
|
ULONG DebugFlags;
|
||||||
|
HANDLE hConsole;
|
||||||
|
ULONG ProcessGroup;
|
||||||
|
HANDLE hStdInput;
|
||||||
|
HANDLE hStdOutput;
|
||||||
|
HANDLE hStdError;
|
||||||
|
UNICODE_STRING CurrentDirectoryName;
|
||||||
|
HANDLE CurrentDirectoryHandle;
|
||||||
|
UNICODE_STRING DllPath;
|
||||||
|
UNICODE_STRING ImagePathName;
|
||||||
|
UNICODE_STRING CommandLine;
|
||||||
|
PWSTR Environment;
|
||||||
|
ULONG dwX;
|
||||||
|
ULONG dwY;
|
||||||
|
ULONG dwXSize;
|
||||||
|
ULONG dwYSize;
|
||||||
|
ULONG dwXCountChars;
|
||||||
|
ULONG dwYCountChars;
|
||||||
|
ULONG dwFillAttribute;
|
||||||
|
ULONG dwFlags;
|
||||||
|
ULONG wShowWindow;
|
||||||
|
UNICODE_STRING WindowTitle;
|
||||||
|
UNICODE_STRING DesktopInfo;
|
||||||
|
UNICODE_STRING ShellInfo;
|
||||||
|
UNICODE_STRING RuntimeInfo;
|
||||||
|
} RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS;
|
||||||
|
|
||||||
|
typedef struct _RTL_PROCESS_INFO
|
||||||
|
{
|
||||||
|
ULONG Size;
|
||||||
|
HANDLE ProcessHandle;
|
||||||
|
HANDLE ThreadHandle;
|
||||||
|
CLIENT_ID ClientId;
|
||||||
|
SECTION_IMAGE_INFORMATION ImageInfo;
|
||||||
|
} RTL_PROCESS_INFO, *PRTL_PROCESS_INFO;
|
||||||
|
|
||||||
|
typedef struct _RTL_BITMAP
|
||||||
|
{
|
||||||
|
ULONG SizeOfBitMap;
|
||||||
|
PULONG Buffer;
|
||||||
|
} RTL_BITMAP;
|
||||||
|
typedef RTL_BITMAP *PRTL_BITMAP;
|
||||||
|
|
||||||
|
typedef struct _RTL_BITMAP_RUN
|
||||||
|
{
|
||||||
|
ULONG StartingIndex;
|
||||||
|
ULONG NumberOfBits;
|
||||||
|
} RTL_BITMAP_RUN;
|
||||||
|
typedef RTL_BITMAP_RUN *PRTL_BITMAP_RUN;
|
||||||
|
|
||||||
|
/* FIXME: This is a Windows Type which which we are not implementing properly
|
||||||
|
The type below however is our own implementation. We will eventually use Windows' */
|
||||||
|
typedef struct _RTL_ATOM_TABLE
|
||||||
|
{
|
||||||
|
ULONG TableSize;
|
||||||
|
ULONG NumberOfAtoms;
|
||||||
|
PVOID Lock; /* fast mutex (kernel mode)/ critical section (user mode) */
|
||||||
|
PVOID HandleTable;
|
||||||
|
LIST_ENTRY Slot[0];
|
||||||
|
} RTL_ATOM_TABLE, *PRTL_ATOM_TABLE;
|
||||||
|
|
||||||
|
/* Let Kernel Drivers use this */
|
||||||
|
#ifndef _WINBASE_H
|
||||||
|
typedef struct _SYSTEMTIME
|
||||||
|
{
|
||||||
|
WORD wYear;
|
||||||
|
WORD wMonth;
|
||||||
|
WORD wDayOfWeek;
|
||||||
|
WORD wDay;
|
||||||
|
WORD wHour;
|
||||||
|
WORD wMinute;
|
||||||
|
WORD wSecond;
|
||||||
|
WORD wMilliseconds;
|
||||||
|
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
|
||||||
|
|
||||||
|
typedef struct _TIME_ZONE_INFORMATION
|
||||||
|
{
|
||||||
|
LONG Bias;
|
||||||
|
WCHAR StandardName[32];
|
||||||
|
SYSTEMTIME StandardDate;
|
||||||
|
LONG StandardBias;
|
||||||
|
WCHAR DaylightName[32];
|
||||||
|
SYSTEMTIME DaylightDate;
|
||||||
|
LONG DaylightBias;
|
||||||
|
} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef LPTIME_ZONE_INFORMATION PTIME_ZONE_INFORMATION;
|
||||||
|
|
||||||
|
#endif
|
24
reactos/include/ndk/sefuncs.h
Normal file
24
reactos/include/ndk/sefuncs.h
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/sefuncs.h
|
||||||
|
* PURPOSE: Defintions for Security Subsystem Functions not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _SEFUNCS_H
|
||||||
|
#define _SEFUNCS_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* FUNCTION TYPES ************************************************************/
|
||||||
|
|
||||||
|
/* PROTOTYPES ****************************************************************/
|
||||||
|
|
||||||
|
SECURITY_IMPERSONATION_LEVEL
|
||||||
|
STDCALL
|
||||||
|
SeTokenImpersonationLevel(
|
||||||
|
IN PACCESS_TOKEN Token
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif
|
86
reactos/include/ndk/setypes.h
Normal file
86
reactos/include/ndk/setypes.h
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/setypes.h
|
||||||
|
* PURPOSE: Defintions for Security Subsystem Types not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _SETYPES_H
|
||||||
|
#define _SETYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
|
||||||
|
/* CONSTANTS *****************************************************************/
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
|
typedef struct _SEP_AUDIT_POLICY_CATEGORIES
|
||||||
|
{
|
||||||
|
UCHAR System:4;
|
||||||
|
UCHAR Logon:4;
|
||||||
|
UCHAR ObjectAccess:4;
|
||||||
|
UCHAR PrivilegeUse:4;
|
||||||
|
UCHAR DetailedTracking:4;
|
||||||
|
UCHAR PolicyChange:4;
|
||||||
|
UCHAR AccountManagement:4;
|
||||||
|
UCHAR DirectoryServiceAccess:4;
|
||||||
|
UCHAR AccountLogon:4;
|
||||||
|
} SEP_AUDIT_POLICY_CATEGORIES, *PSEP_AUDIT_POLICY_CATEGORIES;
|
||||||
|
|
||||||
|
typedef struct _SEP_AUDIT_POLICY_OVERLAY
|
||||||
|
{
|
||||||
|
ULONGLONG PolicyBits:36;
|
||||||
|
UCHAR SetBit:1;
|
||||||
|
} SEP_AUDIT_POLICY_OVERLAY, *PSEP_AUDIT_POLICY_OVERLAY;
|
||||||
|
|
||||||
|
typedef struct _SEP_AUDIT_POLICY
|
||||||
|
{
|
||||||
|
union
|
||||||
|
{
|
||||||
|
SEP_AUDIT_POLICY_CATEGORIES PolicyElements;
|
||||||
|
SEP_AUDIT_POLICY_OVERLAY PolicyOverlay;
|
||||||
|
ULONGLONG Overlay;
|
||||||
|
};
|
||||||
|
} SEP_AUDIT_POLICY, *PSEP_AUDIT_POLICY;
|
||||||
|
|
||||||
|
typedef struct _TOKEN
|
||||||
|
{
|
||||||
|
TOKEN_SOURCE TokenSource; /* 0x00 */
|
||||||
|
LUID TokenId; /* 0x10 */
|
||||||
|
LUID AuthenticationId; /* 0x18 */
|
||||||
|
LUID ParentTokenId; /* 0x20 */
|
||||||
|
LARGE_INTEGER ExpirationTime; /* 0x28 */
|
||||||
|
struct _ERESOURCE *TokenLock; /* 0x30 */
|
||||||
|
ULONG Padding; /* 0x34 */
|
||||||
|
SEP_AUDIT_POLICY AuditPolicy; /* 0x38 */
|
||||||
|
LUID ModifiedId; /* 0x40 */
|
||||||
|
ULONG SessionId; /* 0x48 */
|
||||||
|
ULONG UserAndGroupCount; /* 0x4C */
|
||||||
|
ULONG RestrictedSidCount; /* 0x50 */
|
||||||
|
ULONG PrivilegeCount; /* 0x54 */
|
||||||
|
ULONG VariableLength; /* 0x58 */
|
||||||
|
ULONG DynamicCharged; /* 0x5C */
|
||||||
|
ULONG DynamicAvailable; /* 0x60 */
|
||||||
|
ULONG DefaultOwnerIndex; /* 0x64 */
|
||||||
|
PSID_AND_ATTRIBUTES UserAndGroups; /* 0x68 */
|
||||||
|
PSID_AND_ATTRIBUTES RestrictedSids; /* 0x6C */
|
||||||
|
PSID PrimaryGroup; /* 0x70 */
|
||||||
|
PLUID_AND_ATTRIBUTES Privileges; /* 0x74 */
|
||||||
|
PULONG DynamicPart; /* 0x78 */
|
||||||
|
PACL DefaultDacl; /* 0x7C */
|
||||||
|
TOKEN_TYPE TokenType; /* 0x80 */
|
||||||
|
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; /* 0x84 */
|
||||||
|
ULONG TokenFlags; /* 0x88 */
|
||||||
|
ULONG TokenInUse; /* 0x8C */
|
||||||
|
PVOID ProxyData; /* 0x90 */
|
||||||
|
PVOID AuditData; /* 0x94 */
|
||||||
|
LUID OriginatingLogonSession; /* 0x98 */
|
||||||
|
UCHAR VariablePart[1]; /* 0xA0 */
|
||||||
|
} TOKEN, *PTOKEN;
|
||||||
|
|
||||||
|
#endif
|
1116
reactos/include/ndk/umtypes.h
Normal file
1116
reactos/include/ndk/umtypes.h
Normal file
File diff suppressed because it is too large
Load diff
4075
reactos/include/ndk/zwfuncs.h
Normal file
4075
reactos/include/ndk/zwfuncs.h
Normal file
File diff suppressed because it is too large
Load diff
983
reactos/include/ndk/zwtypes.h
Normal file
983
reactos/include/ndk/zwtypes.h
Normal file
|
@ -0,0 +1,983 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Native Headers
|
||||||
|
* FILE: include/ndk/zwtypes.h
|
||||||
|
* PURPOSE: Defintions for Native Types not defined in DDK/IFS
|
||||||
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* Created 06/10/04
|
||||||
|
*/
|
||||||
|
#ifndef _ZWTYPES_H
|
||||||
|
#define _ZWTYPES_H
|
||||||
|
|
||||||
|
/* DEPENDENCIES **************************************************************/
|
||||||
|
#include "rtltypes.h"
|
||||||
|
|
||||||
|
/* EXPORTED DATA *************************************************************/
|
||||||
|
|
||||||
|
/* CONSTANTS *****************************************************************/
|
||||||
|
|
||||||
|
/* ENUMERATIONS **************************************************************/
|
||||||
|
|
||||||
|
typedef enum _PLUGPLAY_BUS_CLASS
|
||||||
|
{
|
||||||
|
SystemBus,
|
||||||
|
PlugPlayVirtualBus,
|
||||||
|
MaxPlugPlayBusClass
|
||||||
|
} PLUGPLAY_BUS_CLASS, *PPLUGPLAY_BUS_CLASS;
|
||||||
|
|
||||||
|
typedef enum _PLUGPLAY_VIRTUAL_BUS_TYPE
|
||||||
|
{
|
||||||
|
Root,
|
||||||
|
MaxPlugPlayVirtualBusType
|
||||||
|
} PLUGPLAY_VIRTUAL_BUS_TYPE, *PPLUGPLAY_VIRTUAL_BUS_TYPE;
|
||||||
|
|
||||||
|
/**** Information Classes ****/
|
||||||
|
/*
|
||||||
|
* System
|
||||||
|
*/
|
||||||
|
typedef enum _SYSTEM_INFORMATION_CLASS
|
||||||
|
{
|
||||||
|
SystemBasicInformation,
|
||||||
|
SystemProcessorInformation,
|
||||||
|
SystemPerformanceInformation,
|
||||||
|
SystemTimeOfDayInformation,
|
||||||
|
SystemPathInformation, /* OBSOLETE: USE KUSER_SHARED_DATA */
|
||||||
|
SystemProcessInformation,
|
||||||
|
SystemCallCountInformation,
|
||||||
|
SystemDeviceInformation,
|
||||||
|
SystemProcessorPerformanceInformation,
|
||||||
|
SystemFlagsInformation,
|
||||||
|
SystemCallTimeInformation,
|
||||||
|
SystemModuleInformation,
|
||||||
|
SystemLocksInformation,
|
||||||
|
SystemStackTraceInformation,
|
||||||
|
SystemPagedPoolInformation,
|
||||||
|
SystemNonPagedPoolInformation,
|
||||||
|
SystemHandleInformation,
|
||||||
|
SystemObjectInformation,
|
||||||
|
SystemPageFileInformation,
|
||||||
|
SystemVdmInstemulInformation,
|
||||||
|
SystemVdmBopInformation,
|
||||||
|
SystemFileCacheInformation,
|
||||||
|
SystemPoolTagInformation,
|
||||||
|
SystemInterruptInformation,
|
||||||
|
SystemDpcBehaviorInformation,
|
||||||
|
SystemFullMemoryInformation,
|
||||||
|
SystemLoadGdiDriverInformation,
|
||||||
|
SystemUnloadGdiDriverInformation,
|
||||||
|
SystemTimeAdjustmentInformation,
|
||||||
|
SystemSummaryMemoryInformation,
|
||||||
|
SystemNextEventIdInformation,
|
||||||
|
SystemEventIdsInformation,
|
||||||
|
SystemCrashDumpInformation,
|
||||||
|
SystemExceptionInformation,
|
||||||
|
SystemCrashDumpStateInformation,
|
||||||
|
SystemKernelDebuggerInformation,
|
||||||
|
SystemContextSwitchInformation,
|
||||||
|
SystemRegistryQuotaInformation,
|
||||||
|
SystemExtendServiceTableInformation,
|
||||||
|
SystemPrioritySeperation,
|
||||||
|
SystemPlugPlayBusInformation,
|
||||||
|
SystemDockInformation,
|
||||||
|
SystemPowerInformation,
|
||||||
|
SystemProcessorSpeedInformation,
|
||||||
|
SystemCurrentTimeZoneInformation,
|
||||||
|
SystemLookasideInformation,
|
||||||
|
SystemTimeSlipNotification,
|
||||||
|
SystemSessionCreate,
|
||||||
|
SystemSessionDetach,
|
||||||
|
SystemSessionInformation,
|
||||||
|
SystemRangeStartInformation,
|
||||||
|
SystemVerifierInformation,
|
||||||
|
SystemAddVerifier,
|
||||||
|
SystemSessionProcessesInformation,
|
||||||
|
SystemInformationClassMax
|
||||||
|
} SYSTEM_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Object
|
||||||
|
*/
|
||||||
|
typedef enum _OBJECT_INFORMATION_CLASS
|
||||||
|
{
|
||||||
|
ObjectBasicInformation,
|
||||||
|
ObjectNameInformation,
|
||||||
|
ObjectTypeInformation,
|
||||||
|
ObjectAllTypesInformation,
|
||||||
|
ObjectHandleInformation
|
||||||
|
} OBJECT_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Memory
|
||||||
|
*/
|
||||||
|
typedef enum _MEMORY_INFORMATION_CLASS
|
||||||
|
{
|
||||||
|
MemoryBasicInformation,
|
||||||
|
MemoryWorkingSetList,
|
||||||
|
MemorySectionName,
|
||||||
|
MemoryBasicVlmInformation
|
||||||
|
} MEMORY_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Mutant
|
||||||
|
*/
|
||||||
|
typedef enum _MUTANT_INFORMATION_CLASS
|
||||||
|
{
|
||||||
|
MutantBasicInformation
|
||||||
|
} MUTANT_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Atom
|
||||||
|
*/
|
||||||
|
typedef enum _ATOM_INFORMATION_CLASS
|
||||||
|
{
|
||||||
|
AtomBasicInformation,
|
||||||
|
AtomTableInformation,
|
||||||
|
} ATOM_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Section
|
||||||
|
*/
|
||||||
|
typedef enum _SECTION_INFORMATION_CLASS
|
||||||
|
{
|
||||||
|
SectionBasicInformation,
|
||||||
|
SectionImageInformation,
|
||||||
|
} SECTION_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Timer
|
||||||
|
*/
|
||||||
|
typedef enum _TIMER_INFORMATION_CLASS {
|
||||||
|
TimerBasicInformation
|
||||||
|
} TIMER_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Semaphore
|
||||||
|
*/
|
||||||
|
typedef enum _SEMAPHORE_INFORMATION_CLASS
|
||||||
|
{
|
||||||
|
SemaphoreBasicInformation
|
||||||
|
} SEMAPHORE_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Event
|
||||||
|
*/
|
||||||
|
typedef enum _EVENT_INFORMATION_CLASS
|
||||||
|
{
|
||||||
|
EventBasicInformation
|
||||||
|
} EVENT_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* I/O Completion
|
||||||
|
*/
|
||||||
|
typedef enum _IO_COMPLETION_INFORMATION_CLASS
|
||||||
|
{
|
||||||
|
IoCompletionBasicInformation
|
||||||
|
} IO_COMPLETION_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
|
typedef unsigned short LANGID;
|
||||||
|
typedef LANGID *PLANGID;
|
||||||
|
|
||||||
|
/**** Information Structures ****/
|
||||||
|
/*
|
||||||
|
* Mutant
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Class 0 */
|
||||||
|
typedef struct _MUTANT_BASIC_INFORMATION
|
||||||
|
{
|
||||||
|
LONG CurrentCount;
|
||||||
|
BOOLEAN OwnedbyCalled;
|
||||||
|
BOOLEAN AbandonedState;
|
||||||
|
} MUTANT_BASIC_INFORMATION, *PMUTANT_BASIC_INFORMATION;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Thread
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Class 0 */
|
||||||
|
typedef struct _THREAD_BASIC_INFORMATION
|
||||||
|
{
|
||||||
|
NTSTATUS ExitStatus;
|
||||||
|
PVOID TebBaseAddress;
|
||||||
|
CLIENT_ID ClientId;
|
||||||
|
KAFFINITY AffinityMask;
|
||||||
|
KPRIORITY Priority;
|
||||||
|
KPRIORITY BasePriority;
|
||||||
|
} THREAD_BASIC_INFORMATION, *PTHREAD_BASIC_INFORMATION;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Atom
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Class 0 */
|
||||||
|
typedef struct _ATOM_BASIC_INFORMATION {
|
||||||
|
USHORT UsageCount;
|
||||||
|
USHORT Flags;
|
||||||
|
USHORT NameLength;
|
||||||
|
WCHAR Name[1];
|
||||||
|
} ATOM_BASIC_INFORMATION, *PATOM_BASIC_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 1 */
|
||||||
|
typedef struct _ATOM_TABLE_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG NumberOfAtoms;
|
||||||
|
USHORT Atoms[1];
|
||||||
|
} ATOM_TABLE_INFORMATION, *PATOM_TABLE_INFORMATION;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Memory
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Class 1 */
|
||||||
|
typedef struct _MEMORY_WORKING_SET_LIST
|
||||||
|
{
|
||||||
|
ULONG NumberOfPages;
|
||||||
|
ULONG WorkingSetList[1];
|
||||||
|
} MEMORY_WORKING_SET_LIST, *PMEMORY_WORKING_SET_LIST;
|
||||||
|
|
||||||
|
/* Class 2 */
|
||||||
|
typedef struct {
|
||||||
|
UNICODE_STRING SectionFileName;
|
||||||
|
WCHAR NameBuffer[ANYSIZE_ARRAY];
|
||||||
|
} MEMORY_SECTION_NAME, *PMEMORY_SECTION_NAME;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Section
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Class 0 */
|
||||||
|
typedef struct _SECTION_BASIC_INFORMATION
|
||||||
|
{
|
||||||
|
PVOID BaseAddress;
|
||||||
|
ULONG Attributes;
|
||||||
|
LARGE_INTEGER Size;
|
||||||
|
} SECTION_BASIC_INFORMATION, *PSECTION_BASIC_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 1 */
|
||||||
|
typedef struct _SECTION_IMAGE_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG EntryPoint;
|
||||||
|
ULONG Unknown1;
|
||||||
|
ULONG_PTR StackReserve;
|
||||||
|
ULONG_PTR StackCommit;
|
||||||
|
ULONG Subsystem;
|
||||||
|
USHORT MinorSubsystemVersion;
|
||||||
|
USHORT MajorSubsystemVersion;
|
||||||
|
ULONG Unknown2;
|
||||||
|
ULONG Characteristics;
|
||||||
|
USHORT ImageNumber;
|
||||||
|
BOOLEAN Executable;
|
||||||
|
UCHAR Unknown3;
|
||||||
|
ULONG Unknown4[3];
|
||||||
|
} SECTION_IMAGE_INFORMATION, *PSECTION_IMAGE_INFORMATION;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Object
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Class 4 */
|
||||||
|
typedef struct _OBJECT_HANDLE_ATTRIBUTE_INFORMATION
|
||||||
|
{
|
||||||
|
BOOLEAN Inherit;
|
||||||
|
BOOLEAN ProtectFromClose;
|
||||||
|
} OBJECT_HANDLE_ATTRIBUTE_INFORMATION, *POBJECT_HANDLE_ATTRIBUTE_INFORMATION;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Timer
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Class 0 */
|
||||||
|
typedef struct _TIMER_BASIC_INFORMATION
|
||||||
|
{
|
||||||
|
LARGE_INTEGER TimeRemaining;
|
||||||
|
BOOLEAN SignalState;
|
||||||
|
} TIMER_BASIC_INFORMATION, *PTIMER_BASIC_INFORMATION;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Semaphore
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Class 0 */
|
||||||
|
typedef struct _SEMAPHORE_BASIC_INFORMATION {
|
||||||
|
LONG CurrentCount;
|
||||||
|
LONG MaximumCount;
|
||||||
|
} SEMAPHORE_BASIC_INFORMATION, *PSEMAPHORE_BASIC_INFORMATION;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Event
|
||||||
|
*
|
||||||
|
/* Class 0 */
|
||||||
|
typedef struct _EVENT_BASIC_INFORMATION
|
||||||
|
{
|
||||||
|
EVENT_TYPE EventType;
|
||||||
|
LONG EventState;
|
||||||
|
} EVENT_BASIC_INFORMATION, *PEVENT_BASIC_INFORMATION;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* System
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Class 0 */
|
||||||
|
typedef struct _SYSTEM_BASIC_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG Reserved;
|
||||||
|
ULONG TimerResolution;
|
||||||
|
ULONG PageSize;
|
||||||
|
ULONG NumberOfPhysicalPages;
|
||||||
|
ULONG LowestPhysicalPageNumber;
|
||||||
|
ULONG HighestPhysicalPageNumber;
|
||||||
|
ULONG AllocationGranularity;
|
||||||
|
ULONG MinimumUserModeAddress;
|
||||||
|
ULONG MaximumUserModeAddress;
|
||||||
|
KAFFINITY ActiveProcessorsAffinityMask;
|
||||||
|
CCHAR NumberOfProcessors;
|
||||||
|
} SYSTEM_BASIC_INFORMATION, *PSYSTEM_BASIC_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 1 */
|
||||||
|
typedef struct _SYSTEM_PROCESSOR_INFORMATION {
|
||||||
|
USHORT ProcessorArchitecture;
|
||||||
|
USHORT ProcessorLevel;
|
||||||
|
USHORT ProcessorRevision;
|
||||||
|
USHORT Reserved;
|
||||||
|
ULONG ProcessorFeatureBits;
|
||||||
|
} SYSTEM_PROCESSOR_INFORMATION, *PSYSTEM_PROCESSOR_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 2 */
|
||||||
|
typedef struct _SYSTEM_PERFORMANCE_INFORMATION
|
||||||
|
{
|
||||||
|
LARGE_INTEGER IdleProcessTime;
|
||||||
|
LARGE_INTEGER IoReadTransferCount;
|
||||||
|
LARGE_INTEGER IoWriteTransferCount;
|
||||||
|
LARGE_INTEGER IoOtherTransferCount;
|
||||||
|
ULONG IoReadOperationCount;
|
||||||
|
ULONG IoWriteOperationCount;
|
||||||
|
ULONG IoOtherOperationCount;
|
||||||
|
ULONG AvailablePages;
|
||||||
|
ULONG CommittedPages;
|
||||||
|
ULONG CommitLimit;
|
||||||
|
ULONG PeakCommitment;
|
||||||
|
ULONG PageFaultCount;
|
||||||
|
ULONG CopyOnWriteCount;
|
||||||
|
ULONG TransitionCount;
|
||||||
|
ULONG CacheTransitionCount;
|
||||||
|
ULONG DemandZeroCount;
|
||||||
|
ULONG PageReadCount;
|
||||||
|
ULONG PageReadIoCount;
|
||||||
|
ULONG CacheReadCount;
|
||||||
|
ULONG CacheIoCount;
|
||||||
|
ULONG DirtyPagesWriteCount;
|
||||||
|
ULONG DirtyWriteIoCount;
|
||||||
|
ULONG MappedPagesWriteCount;
|
||||||
|
ULONG MappedWriteIoCount;
|
||||||
|
ULONG PagedPoolPages;
|
||||||
|
ULONG NonPagedPoolPages;
|
||||||
|
ULONG PagedPoolAllocs;
|
||||||
|
ULONG PagedPoolFrees;
|
||||||
|
ULONG NonPagedPoolAllocs;
|
||||||
|
ULONG NonPagedPoolFrees;
|
||||||
|
ULONG FreeSystemPtes;
|
||||||
|
ULONG ResidentSystemCodePage;
|
||||||
|
ULONG TotalSystemDriverPages;
|
||||||
|
ULONG TotalSystemCodePages;
|
||||||
|
ULONG NonPagedPoolLookasideHits;
|
||||||
|
ULONG PagedPoolLookasideHits;
|
||||||
|
ULONG Spare3Count;
|
||||||
|
ULONG ResidentSystemCachePage;
|
||||||
|
ULONG ResidentPagedPoolPage;
|
||||||
|
ULONG ResidentSystemDriverPage;
|
||||||
|
ULONG CcFastReadNoWait;
|
||||||
|
ULONG CcFastReadWait;
|
||||||
|
ULONG CcFastReadResourceMiss;
|
||||||
|
ULONG CcFastReadNotPossible;
|
||||||
|
ULONG CcFastMdlReadNoWait;
|
||||||
|
ULONG CcFastMdlReadWait;
|
||||||
|
ULONG CcFastMdlReadResourceMiss;
|
||||||
|
ULONG CcFastMdlReadNotPossible;
|
||||||
|
ULONG CcMapDataNoWait;
|
||||||
|
ULONG CcMapDataWait;
|
||||||
|
ULONG CcMapDataNoWaitMiss;
|
||||||
|
ULONG CcMapDataWaitMiss;
|
||||||
|
ULONG CcPinMappedDataCount;
|
||||||
|
ULONG CcPinReadNoWait;
|
||||||
|
ULONG CcPinReadWait;
|
||||||
|
ULONG CcPinReadNoWaitMiss;
|
||||||
|
ULONG CcPinReadWaitMiss;
|
||||||
|
ULONG CcCopyReadNoWait;
|
||||||
|
ULONG CcCopyReadWait;
|
||||||
|
ULONG CcCopyReadNoWaitMiss;
|
||||||
|
ULONG CcCopyReadWaitMiss;
|
||||||
|
ULONG CcMdlReadNoWait;
|
||||||
|
ULONG CcMdlReadWait;
|
||||||
|
ULONG CcMdlReadNoWaitMiss;
|
||||||
|
ULONG CcMdlReadWaitMiss;
|
||||||
|
ULONG CcReadAheadIos;
|
||||||
|
ULONG CcLazyWriteIos;
|
||||||
|
ULONG CcLazyWritePages;
|
||||||
|
ULONG CcDataFlushes;
|
||||||
|
ULONG CcDataPages;
|
||||||
|
ULONG ContextSwitches;
|
||||||
|
ULONG FirstLevelTbFills;
|
||||||
|
ULONG SecondLevelTbFills;
|
||||||
|
ULONG SystemCalls;
|
||||||
|
} SYSTEM_PERFORMANCE_INFORMATION, *PSYSTEM_PERFORMANCE_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 3 */
|
||||||
|
typedef struct _SYSTEM_TIMEOFDAY_INFORMATION {
|
||||||
|
LARGE_INTEGER BootTime;
|
||||||
|
LARGE_INTEGER CurrentTime;
|
||||||
|
LARGE_INTEGER TimeZoneBias;
|
||||||
|
ULONG TimeZoneId;
|
||||||
|
ULONG Reserved;
|
||||||
|
} SYSTEM_TIMEOFDAY_INFORMATION, *PSYSTEM_TIMEOFDAY_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 4 */
|
||||||
|
/* This class is obsoleted, please use KUSER_SHARED_DATA instead */
|
||||||
|
|
||||||
|
/* Class 5 */
|
||||||
|
typedef struct _SYSTEM_THREAD_INFORMATION
|
||||||
|
{
|
||||||
|
LARGE_INTEGER KernelTime;
|
||||||
|
LARGE_INTEGER UserTime;
|
||||||
|
LARGE_INTEGER CreateTime;
|
||||||
|
ULONG WaitTime;
|
||||||
|
PVOID StartAddress;
|
||||||
|
CLIENT_ID ClientId;
|
||||||
|
KPRIORITY Priority;
|
||||||
|
LONG BasePriority;
|
||||||
|
ULONG ContextSwitches;
|
||||||
|
ULONG ThreadState;
|
||||||
|
ULONG WaitReason;
|
||||||
|
} SYSTEM_THREAD_INFORMATION, *PSYSTEM_THREAD_INFORMATION;
|
||||||
|
typedef struct _SYSTEM_PROCESS_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG NextEntryOffset;
|
||||||
|
ULONG NumberOfThreads;
|
||||||
|
LARGE_INTEGER SpareLi1;
|
||||||
|
LARGE_INTEGER SpareLi2;
|
||||||
|
LARGE_INTEGER SpareLi3;
|
||||||
|
LARGE_INTEGER CreateTime;
|
||||||
|
LARGE_INTEGER UserTime;
|
||||||
|
LARGE_INTEGER KernelTime;
|
||||||
|
UNICODE_STRING ImageName;
|
||||||
|
KPRIORITY BasePriority;
|
||||||
|
HANDLE UniqueProcessId;
|
||||||
|
HANDLE InheritedFromUniqueProcessId;
|
||||||
|
ULONG HandleCount;
|
||||||
|
ULONG SessionId;
|
||||||
|
ULONG PageDirectoryFrame;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This part corresponds to VM_COUNTERS_EX.
|
||||||
|
* NOTE: *NOT* THE SAME AS VM_COUNTERS!
|
||||||
|
*/
|
||||||
|
ULONG PeakVirtualSize;
|
||||||
|
ULONG VirtualSize;
|
||||||
|
ULONG PageFaultCount;
|
||||||
|
ULONG PeakWorkingSetSize;
|
||||||
|
ULONG WorkingSetSize;
|
||||||
|
ULONG QuotaPeakPagedPoolUsage;
|
||||||
|
ULONG QuotaPagedPoolUsage;
|
||||||
|
ULONG QuotaPeakNonPagedPoolUsage;
|
||||||
|
ULONG QuotaNonPagedPoolUsage;
|
||||||
|
ULONG PagefileUsage;
|
||||||
|
ULONG PeakPagefileUsage;
|
||||||
|
ULONG PrivateUsage;
|
||||||
|
|
||||||
|
/* This part corresponds to IO_COUNTERS */
|
||||||
|
LARGE_INTEGER ReadOperationCount;
|
||||||
|
LARGE_INTEGER WriteOperationCount;
|
||||||
|
LARGE_INTEGER OtherOperationCount;
|
||||||
|
LARGE_INTEGER ReadTransferCount;
|
||||||
|
LARGE_INTEGER WriteTransferCount;
|
||||||
|
LARGE_INTEGER OtherTransferCount;
|
||||||
|
|
||||||
|
/* Finally, the array of Threads */
|
||||||
|
SYSTEM_THREAD_INFORMATION TH[1];
|
||||||
|
} SYSTEM_PROCESS_INFORMATION, *PSYSTEM_PROCESS_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 6 */
|
||||||
|
typedef struct _SYSTEM_CALL_COUNT_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG Length;
|
||||||
|
ULONG NumberOfTables;
|
||||||
|
} SYSTEM_CALL_COUNT_INFORMATION, *PSYSTEM_CALL_COUNT_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 7 */
|
||||||
|
typedef struct _SYSTEM_DEVICE_INFORMATION {
|
||||||
|
ULONG NumberOfDisks;
|
||||||
|
ULONG NumberOfFloppies;
|
||||||
|
ULONG NumberOfCdRoms;
|
||||||
|
ULONG NumberOfTapes;
|
||||||
|
ULONG NumberOfSerialPorts;
|
||||||
|
ULONG NumberOfParallelPorts;
|
||||||
|
} SYSTEM_DEVICE_INFORMATION, *PSYSTEM_DEVICE_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 8 */
|
||||||
|
typedef struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
|
||||||
|
{
|
||||||
|
LARGE_INTEGER IdleTime;
|
||||||
|
LARGE_INTEGER KernelTime;
|
||||||
|
LARGE_INTEGER UserTime;
|
||||||
|
LARGE_INTEGER DpcTime;
|
||||||
|
LARGE_INTEGER InterruptTime;
|
||||||
|
ULONG InterruptCount;
|
||||||
|
} SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION,
|
||||||
|
|
||||||
|
/* Class 9 */
|
||||||
|
typedef struct _SYSTEM_FLAGS_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG Flags;
|
||||||
|
} SYSTEM_FLAGS_INFORMATION, *PSYSTEM_FLAGS_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 10 */
|
||||||
|
typedef struct _SYSTEM_CALL_TIME_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG Length;
|
||||||
|
ULONG TotalCalls;
|
||||||
|
LARGE_INTEGER TimeOfCalls[1];
|
||||||
|
} SYSTEM_CALL_TIME_INFORMATION, *PSYSTEM_CALL_TIME_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 11 */
|
||||||
|
typedef struct _SYSTEM_MODULE_INFORMATION_ENTRY
|
||||||
|
{
|
||||||
|
ULONG Unknown1;
|
||||||
|
ULONG Unknown2;
|
||||||
|
PVOID Base;
|
||||||
|
ULONG Size;
|
||||||
|
ULONG Flags;
|
||||||
|
USHORT Index;
|
||||||
|
USHORT NameLength;
|
||||||
|
USHORT LoadCount;
|
||||||
|
USHORT PathLength;
|
||||||
|
CHAR ImageName[256];
|
||||||
|
} SYSTEM_MODULE_INFORMATION_ENTRY, *PSYSTEM_MODULE_INFORMATION_ENTRY;
|
||||||
|
typedef struct _SYSTEM_MODULE_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG Count;
|
||||||
|
SYSTEM_MODULE_INFORMATION_ENTRY Module[1];
|
||||||
|
} SYSTEM_MODULE_INFORMATION, *PSYSTEM_MODULE_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 12 */
|
||||||
|
typedef struct _SYSTEM_RESOURCE_LOCK_ENTRY
|
||||||
|
{
|
||||||
|
ULONG ResourceAddress;
|
||||||
|
ULONG Always1;
|
||||||
|
ULONG Unknown;
|
||||||
|
ULONG ActiveCount;
|
||||||
|
ULONG ContentionCount;
|
||||||
|
ULONG Unused[2];
|
||||||
|
ULONG NumberOfSharedWaiters;
|
||||||
|
ULONG NumberOfExclusiveWaiters;
|
||||||
|
} SYSTEM_RESOURCE_LOCK_ENTRY, *PSYSTEM_RESOURCE_LOCK_ENTRY;
|
||||||
|
typedef struct _SYSTEM_RESOURCE_LOCK_INFO
|
||||||
|
{
|
||||||
|
ULONG Count;
|
||||||
|
SYSTEM_RESOURCE_LOCK_ENTRY Lock[1];
|
||||||
|
} SYSTEM_RESOURCE_LOCK_INFO, *PSYSTEM_RESOURCE_LOCK_INFO;
|
||||||
|
|
||||||
|
/* Class 13 */
|
||||||
|
typedef struct _SYSTEM_BACKTRACE_INFORMATION_ENTRY
|
||||||
|
{
|
||||||
|
/* FIXME */
|
||||||
|
} SYSTEM_BACKTRACE_INFORMATION_ENTRY, *PSYSTEM_BACKTRACE_INFORMATION_ENTRY;
|
||||||
|
typedef struct _SYSTEM_BACKTRACE_INFORMATION
|
||||||
|
{
|
||||||
|
/* FIXME */
|
||||||
|
ULONG Unknown[4]
|
||||||
|
ULONG Count;
|
||||||
|
SYSTEM_BACKTRACE_INFORMATION_ENTRY Trace[1];
|
||||||
|
} SYSTEM_BACKTRACE_INFORMATION, *PSYSTEM_BACKTRACE_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 14 - 15 */
|
||||||
|
typedef struct _SYSTEM_POOL_ENTRY
|
||||||
|
{
|
||||||
|
BOOLEAN Allocated;
|
||||||
|
BOOLEAN Spare0;
|
||||||
|
USHORT AllocatorBackTraceIndex;
|
||||||
|
ULONG Size;
|
||||||
|
union {
|
||||||
|
UCHAR Tag[4];
|
||||||
|
ULONG TagUlong;
|
||||||
|
PVOID ProcessChargedQuota;
|
||||||
|
};
|
||||||
|
} SYSTEM_POOL_ENTRY, *PSYSTEM_POOL_ENTRY;
|
||||||
|
typedef struct _SYSTEM_POOL_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG TotalSize;
|
||||||
|
PVOID FirstEntry;
|
||||||
|
USHORT EntryOverhead;
|
||||||
|
BOOLEAN PoolTagPresent;
|
||||||
|
BOOLEAN Spare0;
|
||||||
|
ULONG NumberOfEntries;
|
||||||
|
SYSTEM_POOL_ENTRY Entries[1];
|
||||||
|
} SYSTEM_POOL_INFORMATION, *PSYSTEM_POOL_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 16 */
|
||||||
|
typedef struct _SYSTEM_HANDLE_TABLE_ENTRY_INFO
|
||||||
|
{
|
||||||
|
USHORT UniqueProcessId;
|
||||||
|
USHORT CreatorBackTraceIndex;
|
||||||
|
UCHAR ObjectTypeIndex;
|
||||||
|
UCHAR HandleAttributes;
|
||||||
|
USHORT HandleValue;
|
||||||
|
PVOID Object;
|
||||||
|
ULONG GrantedAccess;
|
||||||
|
} SYSTEM_HANDLE_TABLE_ENTRY_INFO, *PSYSTEM_HANDLE_TABLE_ENTRY_INFO;
|
||||||
|
typedef struct _SYSTEM_HANDLE_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG NumberOfHandles;
|
||||||
|
SYSTEM_HANDLE_TABLE_ENTRY_INFO Handles[1];
|
||||||
|
} SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 17 */
|
||||||
|
typedef struct _SYSTEM_OBJECTTYPE_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG NextEntryOffset;
|
||||||
|
ULONG NumberOfObjects;
|
||||||
|
ULONG NumberOfHandles;
|
||||||
|
ULONG TypeIndex;
|
||||||
|
ULONG InvalidAttributes;
|
||||||
|
GENERIC_MAPPING GenericMapping;
|
||||||
|
ULONG ValidAccessMask;
|
||||||
|
ULONG PoolType;
|
||||||
|
BOOLEAN SecurityRequired;
|
||||||
|
BOOLEAN WaitableObject;
|
||||||
|
UNICODE_STRING TypeName;
|
||||||
|
} SYSTEM_OBJECTTYPE_INFORMATION, *PSYSTEM_OBJECTTYPE_INFORMATION;
|
||||||
|
typedef struct _SYSTEM_OBJECT_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG NextEntryOffset;
|
||||||
|
PVOID Object;
|
||||||
|
HANDLE CreatorUniqueProcess;
|
||||||
|
USHORT CreatorBackTraceIndex;
|
||||||
|
USHORT Flags;
|
||||||
|
LONG PointerCount;
|
||||||
|
LONG HandleCount;
|
||||||
|
ULONG PagedPoolCharge;
|
||||||
|
ULONG NonPagedPoolCharge;
|
||||||
|
HANDLE ExclusiveProcessId;
|
||||||
|
PVOID SecurityDescriptor;
|
||||||
|
OBJECT_NAME_INFORMATION NameInfo;
|
||||||
|
} SYSTEM_OBJECT_INFORMATION, *PSYSTEM_OBJECT_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 18 */
|
||||||
|
typedef struct _SYSTEM_PAGEFILE_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG NextEntryOffset;
|
||||||
|
ULONG TotalSize;
|
||||||
|
ULONG TotalInUse;
|
||||||
|
ULONG PeakUsage;
|
||||||
|
UNICODE_STRING PageFileName;
|
||||||
|
} SYSTEM_PAGEFILE_INFORMATION, *PSYSTEM_PAGEFILE_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 19 */
|
||||||
|
typedef struct _SYSTEM_VDM_INSTEMUL_INFO
|
||||||
|
{
|
||||||
|
ULONG SegmentNotPresent;
|
||||||
|
ULONG VdmOpcode0F;
|
||||||
|
ULONG OpcodeESPrefix;
|
||||||
|
ULONG OpcodeCSPrefix;
|
||||||
|
ULONG OpcodeSSPrefix;
|
||||||
|
ULONG OpcodeDSPrefix;
|
||||||
|
ULONG OpcodeFSPrefix;
|
||||||
|
ULONG OpcodeGSPrefix;
|
||||||
|
ULONG OpcodeOPER32Prefix;
|
||||||
|
ULONG OpcodeADDR32Prefix;
|
||||||
|
ULONG OpcodeINSB;
|
||||||
|
ULONG OpcodeINSW;
|
||||||
|
ULONG OpcodeOUTSB;
|
||||||
|
ULONG OpcodeOUTSW;
|
||||||
|
ULONG OpcodePUSHF;
|
||||||
|
ULONG OpcodePOPF;
|
||||||
|
ULONG OpcodeINTnn;
|
||||||
|
ULONG OpcodeINTO;
|
||||||
|
ULONG OpcodeIRET;
|
||||||
|
ULONG OpcodeINBimm;
|
||||||
|
ULONG OpcodeINWimm;
|
||||||
|
ULONG OpcodeOUTBimm;
|
||||||
|
ULONG OpcodeOUTWimm ;
|
||||||
|
ULONG OpcodeINB;
|
||||||
|
ULONG OpcodeINW;
|
||||||
|
ULONG OpcodeOUTB;
|
||||||
|
ULONG OpcodeOUTW;
|
||||||
|
ULONG OpcodeLOCKPrefix;
|
||||||
|
ULONG OpcodeREPNEPrefix;
|
||||||
|
ULONG OpcodeREPPrefix;
|
||||||
|
ULONG OpcodeHLT;
|
||||||
|
ULONG OpcodeCLI;
|
||||||
|
ULONG OpcodeSTI;
|
||||||
|
ULONG BopCount;
|
||||||
|
} SYSTEM_VDM_INSTEMUL_INFO, *PSYSTEM_VDM_INSTEMUL_INFO;
|
||||||
|
|
||||||
|
/* Class 20 */
|
||||||
|
typedef struct _SYSTEM_VDM_BOP_INFO
|
||||||
|
{
|
||||||
|
/* FIXME */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Class 21 */
|
||||||
|
typedef struct _SYSTEM_CACHE_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG CurrentSize;
|
||||||
|
ULONG PeakSize;
|
||||||
|
ULONG PageFaultCount;
|
||||||
|
ULONG MinimumWorkingSet;
|
||||||
|
ULONG MaximumWorkingSet;
|
||||||
|
ULONG CurrentSizeIncludingTransitionInPages;
|
||||||
|
ULONG PeakSizeIncludingTransitionInPages;
|
||||||
|
ULONG Unused[2];
|
||||||
|
} SYSTEM_CACHE_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 22 */
|
||||||
|
typedef struct _SYSTEM_POOLTAG
|
||||||
|
{
|
||||||
|
union
|
||||||
|
{
|
||||||
|
UCHAR Tag[4];
|
||||||
|
ULONG TagUlong;
|
||||||
|
};
|
||||||
|
ULONG PagedAllocs;
|
||||||
|
ULONG PagedFrees;
|
||||||
|
ULONG PagedUsed;
|
||||||
|
ULONG NonPagedAllocs;
|
||||||
|
ULONG NonPagedFrees;
|
||||||
|
ULONG NonPagedUsed;
|
||||||
|
} SYSTEM_POOLTAG, *PSYSTEM_POOLTAG;
|
||||||
|
typedef struct _SYSTEM_POOLTAG_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG Count;
|
||||||
|
SYSTEM_POOLTAG TagInfo[1];
|
||||||
|
} SYSTEM_POOLTAG_INFORMATION, *PSYSTEM_POOLTAG_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 23 */
|
||||||
|
typedef struct _SYSTEM_INTERRUPT_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG ContextSwitches;
|
||||||
|
ULONG DpcCount;
|
||||||
|
ULONG DpcRate;
|
||||||
|
ULONG TimeIncrement;
|
||||||
|
ULONG DpcBypassCount;
|
||||||
|
ULONG ApcBypassCount;
|
||||||
|
} SYSTEM_INTERRUPT_INFORMATION, *PSYSTEM_INTERRUPT_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 24 */
|
||||||
|
typedef struct _SYSTEM_DPC_BEHAVIOR_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG Spare;
|
||||||
|
ULONG DpcQueueDepth;
|
||||||
|
ULONG MinimumDpcRate;
|
||||||
|
ULONG AdjustDpcThreshold;
|
||||||
|
ULONG IdealDpcRate;
|
||||||
|
} SYSTEM_DPC_BEHAVIOR_INFORMATION, *PSYSTEM_DPC_BEHAVIOR_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 25 */
|
||||||
|
typedef struct _SYSTEM_MEMORY_INFO
|
||||||
|
{
|
||||||
|
PUCHAR StringOffset;
|
||||||
|
USHORT ValidCount;
|
||||||
|
USHORT TransitionCount;
|
||||||
|
USHORT ModifiedCount;
|
||||||
|
USHORT PageTableCount;
|
||||||
|
} SYSTEM_MEMORY_INFO, *PSYSTEM_MEMORY_INFO;
|
||||||
|
typedef struct _SYSTEM_MEMORY_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG InfoSize;
|
||||||
|
ULONG StringStart;
|
||||||
|
SYSTEM_MEMORY_INFO Memory[1];
|
||||||
|
} SYSTEM_MEMORY_INFORMATION, *PSYSTEM_MEMORY_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 26 */
|
||||||
|
typedef struct _SYSTEM_GDI_DRIVER_INFORMATION {
|
||||||
|
UNICODE_STRING DriverName;
|
||||||
|
PVOID ImageAddress;
|
||||||
|
PVOID SectionPointer;
|
||||||
|
PVOID EntryPoint;
|
||||||
|
PIMAGE_EXPORT_DIRECTORY ExportSectionPointer;
|
||||||
|
} SYSTEM_GDI_DRIVER_INFORMATION, *PSYSTEM_GDI_DRIVER_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 27 */
|
||||||
|
/* Not an actuall class, simply a PVOID to the ImageAddress */
|
||||||
|
|
||||||
|
/* Class 28 */
|
||||||
|
typedef struct _SYSTEM_QUERY_TIME_ADJUST_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG TimeAdjustment;
|
||||||
|
ULONG TimeIncrement;
|
||||||
|
BOOLEAN Enable;
|
||||||
|
} SYSTEM_QUERY_TIME_ADJUST_INFORMATION, *PSYSTEM_QUERY_TIME_ADJUST_INFORMATION;
|
||||||
|
typedef struct _SYSTEM_SET_TIME_ADJUST_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG TimeAdjustment;
|
||||||
|
BOOLEAN Enable;
|
||||||
|
} SYSTEM_SET_TIME_ADJUST_INFORMATION, *PSYSTEM_SET_TIME_ADJUST_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 29 - Same as 25 */
|
||||||
|
|
||||||
|
/* Class 30 - 31 */
|
||||||
|
/* FIXME */
|
||||||
|
|
||||||
|
/* Class 32 */
|
||||||
|
typedef struct _SYSTEM_CRASH_DUMP_INFORMATION
|
||||||
|
{
|
||||||
|
HANDLE CrashDumpSection;
|
||||||
|
} SYSTEM_CRASH_DUMP_INFORMATION, *PSYSTEM_CRASH_DUMP_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 33 */
|
||||||
|
typedef struct _SYSTEM_EXCEPTION_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG AlignmentFixupCount;
|
||||||
|
ULONG ExceptionDispatchCount;
|
||||||
|
ULONG FloatingEmulationCount;
|
||||||
|
ULONG ByteWordEmulationCount;
|
||||||
|
} SYSTEM_EXCEPTION_INFORMATION, *PSYSTEM_EXCEPTION_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 34 */
|
||||||
|
typedef struct _SYSTEM_CRASH_STATE_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG ValidCrashDump;
|
||||||
|
} SYSTEM_CRASH_STATE_INFORMATION, *PSYSTEM_CRASH_STATE_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 35 */
|
||||||
|
typedef struct _SYSTEM_KERNEL_DEBUGGER_INFORMATION
|
||||||
|
{
|
||||||
|
BOOLEAN KernelDebuggerEnabled;
|
||||||
|
BOOLEAN KernelDebuggerNotPresent;
|
||||||
|
} SYSTEM_KERNEL_DEBUGGER_INFORMATION, *PSYSTEM_KERNEL_DEBUGGER_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 36 */
|
||||||
|
typedef struct _SYSTEM_CONTEXT_SWITCH_INFORMATION {
|
||||||
|
ULONG ContextSwitches;
|
||||||
|
ULONG FindAny;
|
||||||
|
ULONG FindLast;
|
||||||
|
ULONG FindIdeal;
|
||||||
|
ULONG IdleAny;
|
||||||
|
ULONG IdleCurrent;
|
||||||
|
ULONG IdleLast;
|
||||||
|
ULONG IdleIdeal;
|
||||||
|
ULONG PreemptAny;
|
||||||
|
ULONG PreemptCurrent;
|
||||||
|
ULONG PreemptLast;
|
||||||
|
ULONG SwitchToIdle;
|
||||||
|
} SYSTEM_CONTEXT_SWITCH_INFORMATION, *PSYSTEM_CONTEXT_SWITCH_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 37 */
|
||||||
|
typedef struct _SYSTEM_REGISTRY_QUOTA_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG RegistryQuotaAllowed;
|
||||||
|
ULONG RegistryQuotaUsed;
|
||||||
|
ULONG PagedPoolSize;
|
||||||
|
} SYSTEM_REGISTRY_QUOTA_INFORMATION, *PSYSTEM_REGISTRY_QUOTA_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 38 */
|
||||||
|
/* Not a structure, simply send the UNICODE_STRING */
|
||||||
|
|
||||||
|
/* Class 39 */
|
||||||
|
/* Not a structure, simply send a ULONG containing the new separation */
|
||||||
|
|
||||||
|
/* Class 40 */
|
||||||
|
typedef struct _PLUGPLAY_BUS_TYPE
|
||||||
|
{
|
||||||
|
PLUGPLAY_BUS_CLASS BusClass;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
INTERFACE_TYPE SystemBusType;
|
||||||
|
PLUGPLAY_VIRTUAL_BUS_TYPE PlugPlayVirtualBusType;
|
||||||
|
};
|
||||||
|
} PLUGPLAY_BUS_TYPE, *PPLUGPLAY_BUS_TYPE;
|
||||||
|
typedef struct _PLUGPLAY_BUS_INSTANCE
|
||||||
|
{
|
||||||
|
PLUGPLAY_BUS_TYPE BusType;
|
||||||
|
ULONG BusNumber;
|
||||||
|
WCHAR BusName[MAX_BUS_NAME];
|
||||||
|
} PLUGPLAY_BUS_INSTANCE, *PPLUGPLAY_BUS_INSTANCE;
|
||||||
|
typedef struct _SYSTEM_PLUGPLAY_BUS_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG BusCount;
|
||||||
|
PLUGPLAY_BUS_INSTANCE BusInstance[1];
|
||||||
|
} SYSTEM_PLUGPLAY_BUS_INFORMATION, *PSYSTEM_PLUGPLAY_BUS_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 41 */
|
||||||
|
typedef struct _SYSTEM_DOCK_INFORMATION
|
||||||
|
{
|
||||||
|
SYSTEM_DOCK_STATE DockState;
|
||||||
|
INTERFACE_TYPE DeviceBusType;
|
||||||
|
ULONG DeviceBusNumber;
|
||||||
|
ULONG SlotNumber;
|
||||||
|
} SYSTEM_DOCK_INFORMATION, *PSYSTEM_DOCK_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 42 */
|
||||||
|
typedef struct _SYSTEM_POWER_INFORMATION
|
||||||
|
{
|
||||||
|
BOOLEAN SystemSuspendSupported;
|
||||||
|
BOOLEAN SystemHibernateSupported;
|
||||||
|
BOOLEAN ResumeTimerSupportsSuspend;
|
||||||
|
BOOLEAN ResumeTimerSupportsHibernate;
|
||||||
|
BOOLEAN LidSupported;
|
||||||
|
BOOLEAN TurboSettingSupported;
|
||||||
|
BOOLEAN TurboMode;
|
||||||
|
BOOLEAN SystemAcOrDc;
|
||||||
|
BOOLEAN PowerDownDisabled;
|
||||||
|
LARGE_INTEGER SpindownDrives;
|
||||||
|
} SYSTEM_POWER_INFORMATION, *PSYSTEM_POWER_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 43 */
|
||||||
|
typedef struct _SYSTEM_LEGACY_DRIVER_INFORMATION
|
||||||
|
{
|
||||||
|
PNP_VETO_TYPE VetoType;
|
||||||
|
UNCODE_STRING VetoDriver;
|
||||||
|
/* Buffer Follows */
|
||||||
|
} SYSTEM_PROCESSOR_SPEED_INFORMATION, *PSYSTEM_PROCESSOR_SPEED_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 44 */
|
||||||
|
typedef TIME_ZONE_INFORMATION RTL_TIME_ZONE_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 45 */
|
||||||
|
typedef struct _SYSTEM_LOOKASIDE_INFORMATION
|
||||||
|
{
|
||||||
|
USHORT CurrentDepth;
|
||||||
|
USHORT MaximumDepth;
|
||||||
|
ULONG TotalAllocates;
|
||||||
|
ULONG AllocateMisses;
|
||||||
|
ULONG TotalFrees;
|
||||||
|
ULONG FreeMisses;
|
||||||
|
ULONG Type;
|
||||||
|
ULONG Tag;
|
||||||
|
ULONG Size;
|
||||||
|
} SYSTEM_LOOKASIDE_INFORMATION, *PSYSTEM_LOOKASIDE_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 46 */
|
||||||
|
/* Not a structure. Only a HANDLE for the SlipEvent;
|
||||||
|
|
||||||
|
/* Class 47 */
|
||||||
|
/* Not a structure. Only a ULONG for the SessionId;
|
||||||
|
|
||||||
|
/* Class 48 */
|
||||||
|
/* Not a structure. Only a ULONG for the SessionId;
|
||||||
|
|
||||||
|
/* Class 49 */
|
||||||
|
/* FIXME */
|
||||||
|
|
||||||
|
/* Class 50 */
|
||||||
|
/* Not a structure. Only a ULONG_PTR for the SystemRangeStart */
|
||||||
|
|
||||||
|
/* Class 51 */
|
||||||
|
/* FIXME. Based on MM_DRIVER_VERIFIER_DATA */
|
||||||
|
|
||||||
|
/* Class 52 */
|
||||||
|
/* FIXME */
|
||||||
|
|
||||||
|
/* Class 53 */
|
||||||
|
typedef struct _SYSTEM_SESSION_PROCESSES_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG SessionId;
|
||||||
|
ULONG BufferSize;
|
||||||
|
PVOID Buffer; /* same format as in SystemProcessInformation */
|
||||||
|
} SYSTEM_SESSION_PROCESSES_INFORMATION, * PSYSTEM_SESSION_PROCESSES_INFORMATION;
|
||||||
|
|
||||||
|
/* Class 54-81 */
|
||||||
|
/* FIXME */
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in a new issue