mirror of
https://github.com/reactos/reactos.git
synced 2024-06-28 08:51:29 +00:00
- Add the real NT Object Callbacks and #ifdef out the ReactOS ones.
- Add the real NT Loader Parameter Block structures & friends and #ifdef out the ReactOS ones (thanks to Filip Navara for some work on these). svn path=/trunk/; revision=19697
This commit is contained in:
parent
f45815ea12
commit
85320084c1
|
@ -1,15 +1,3 @@
|
|||
Complete list of NDK Fixmes before 1.0 Release (Nov 27th 2005)
|
||||
--------------------------------------------------------------
|
||||
______________________________________________________________________________________
|
||||
[CRITICAL] - Breaking compatibility with official structures.
|
||||
|obtypes.h - Object callbacks are ReactOS only definitions. IFDEF-OUT ADDREAL
|
||||
|haltypes.h - Loader Parameter Block is ReactOS Version, not NT. IFDEF-OUT ADDREAL
|
||||
|
|
||||
[MAJOR] - Using incorrect, missing, or invalid names or definitions.
|
||||
|extypes.h - Classes 13, 20, 30, 31, 49, 51, 52, 54+ are undefined. WONTFIX
|
||||
|_____________________________________________________________________________________
|
||||
|
||||
|
||||
List of ReactOS Applications compiling with the NDK
|
||||
(verify, fix, and optimize their usage)
|
||||
--------------------------------------------------------------
|
||||
|
|
|
@ -30,24 +30,28 @@ Author:
|
|||
//
|
||||
// Display Functions
|
||||
//
|
||||
NTHALAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalQueryDisplayOwnership(
|
||||
VOID
|
||||
);
|
||||
|
||||
NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
HalDisplayString(
|
||||
IN PCHAR String
|
||||
);
|
||||
|
||||
NTHALAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalQueryDisplayOwnership(
|
||||
VOID
|
||||
);
|
||||
|
||||
NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
HalReleaseDisplayOwnership(
|
||||
|
@ -57,12 +61,14 @@ HalReleaseDisplayOwnership(
|
|||
//
|
||||
// Initialization Functions
|
||||
//
|
||||
NTHALAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalAllProcessorsStarted(
|
||||
VOID
|
||||
);
|
||||
|
||||
NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
HalInitializeProcessor(
|
||||
|
@ -70,6 +76,7 @@ HalInitializeProcessor(
|
|||
PVOID ProcessorStack
|
||||
);
|
||||
|
||||
NTHALAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalInitSystem(
|
||||
|
@ -77,12 +84,14 @@ HalInitSystem(
|
|||
PLOADER_PARAMETER_BLOCK LoaderBlock
|
||||
);
|
||||
|
||||
NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
HalReturnToFirmware(
|
||||
FIRMWARE_REENTRY Action
|
||||
);
|
||||
|
||||
NTHALAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalStartNextProcessor(
|
||||
|
@ -93,6 +102,7 @@ HalStartNextProcessor(
|
|||
//
|
||||
// Interrupt Functions
|
||||
//
|
||||
NTHALAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalBeginSystemInterrupt(
|
||||
|
@ -101,6 +111,7 @@ HalBeginSystemInterrupt(
|
|||
PKIRQL OldIrql
|
||||
);
|
||||
|
||||
NTHALAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalDisableSystemInterrupt(
|
||||
|
@ -108,6 +119,7 @@ HalDisableSystemInterrupt(
|
|||
KIRQL Irql
|
||||
);
|
||||
|
||||
NTHALAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalEnableSystemInterrupt(
|
||||
|
@ -116,6 +128,7 @@ HalEnableSystemInterrupt(
|
|||
KINTERRUPT_MODE InterruptMode
|
||||
);
|
||||
|
||||
NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
HalEndSystemInterrupt(
|
||||
|
@ -123,6 +136,7 @@ HalEndSystemInterrupt(
|
|||
ULONG Vector
|
||||
);
|
||||
|
||||
NTHALAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalGetEnvironmentVariable(
|
||||
|
@ -131,18 +145,21 @@ HalGetEnvironmentVariable(
|
|||
USHORT ValueLength
|
||||
);
|
||||
|
||||
NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
HalReportResourceUsage(
|
||||
VOID
|
||||
);
|
||||
|
||||
NTHALAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
HalRequestSoftwareInterrupt(
|
||||
KIRQL SoftwareInterruptRequested
|
||||
);
|
||||
|
||||
NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
HalRequestIpi(
|
||||
|
@ -152,6 +169,7 @@ HalRequestIpi(
|
|||
//
|
||||
// I/O Functions
|
||||
//
|
||||
NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoAssignDriveLetters(
|
||||
|
@ -164,6 +182,7 @@ IoAssignDriveLetters(
|
|||
//
|
||||
// Environment Functions
|
||||
//
|
||||
NTHALAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalSetEnvironmentVariable(
|
||||
|
|
|
@ -67,8 +67,124 @@ typedef struct _HAL_PRIVATE_DISPATCH
|
|||
ULONG Version;
|
||||
} HAL_PRIVATE_DISPATCH, *PHAL_PRIVATE_DISPATCH;
|
||||
|
||||
#ifndef _REACTOS_
|
||||
//
|
||||
// Loader Parameter Block Structures (FIXME)
|
||||
// NLS Data Block
|
||||
//
|
||||
typedef struct _NLS_TABLE_DATA
|
||||
{
|
||||
PVOID AnsiCodePageData;
|
||||
PVOID OemCodePageData;
|
||||
PVOID UnicodeCodePageData;
|
||||
} NLS_TABLE_DATA, *PNLS_TABLE_DATA;
|
||||
|
||||
//
|
||||
// Subsystem Specific Loader Blocks
|
||||
//
|
||||
typedef struct _PROFILE_PARAMETER_BLOCK
|
||||
{
|
||||
USHORT DockData0;
|
||||
USHORT DockData1;
|
||||
USHORT DockData2;
|
||||
USHORT DockData3;
|
||||
ULONG DockData3;
|
||||
ULONG DockData4;
|
||||
} PROFILE_PARAMETER_BLOCK, *PPROFILE_PARAMETER_BLOCK;
|
||||
|
||||
typedef struct _HEADLESS_LOADER_BLOCK
|
||||
{
|
||||
UCHAR Unknown[0xC];
|
||||
} HEADLESS_LOADER_BLOCK, *PHEADLESS_LOADER_BLOCK;
|
||||
|
||||
typedef struct _NETWORK_LOADER_BLOCK
|
||||
{
|
||||
UCHAR Unknown[0xC];
|
||||
} NETWORK_LOADER_BLOCK, *PNETWORK_LOADER_BLOCK;
|
||||
|
||||
//
|
||||
// Extended Loader Parameter Block
|
||||
//
|
||||
typedef struct _LOADER_PARAMETER_EXTENSION
|
||||
{
|
||||
ULONG Size;
|
||||
PROFILE_PARAMETER_BLOCK ProfileParameterBlock;
|
||||
ULONG MajorVersion;
|
||||
ULONG MinorVersion;
|
||||
PVOID SpecialConfigInfFile;
|
||||
ULONG SpecialConfigInfSize;
|
||||
PVOID TriageDumpData;
|
||||
//
|
||||
// NT 5.1
|
||||
//
|
||||
ULONG NumberOfPages;
|
||||
PHEADLESS_LOADER_BLOCK HeadlessLoaderBlock;
|
||||
PVOID Unknown1;
|
||||
PVOID PrefetchDatabaseBase;
|
||||
ULONG PrefetchDatabaseSize;
|
||||
PNETWORK_LOADER_BLOCK NetworkLoaderBlock;
|
||||
//
|
||||
// NT 5.2+
|
||||
//
|
||||
PVOID Reserved[2];
|
||||
LIST_ENTRY FirmwareListEntry;
|
||||
PVOID AcpiTableBase;
|
||||
ULONG AcpiTableSize;
|
||||
} LOADER_PARAMETER_EXTENSION, *PLOADER_PARAMETER_EXTENSION;
|
||||
|
||||
//
|
||||
// Architecture specific Loader Parameter Blocks
|
||||
//
|
||||
typedef struct _I386_LOADER_BLOCK
|
||||
{
|
||||
PVOID CommonDataArea;
|
||||
ULONG MachineType;
|
||||
ULONG Reserved;
|
||||
} I386_LOADER_BLOCK, *PI386_LOADER_BLOCK;
|
||||
|
||||
//
|
||||
// Setup Loader Parameter Block
|
||||
//
|
||||
typedef struct _SETUP_LOADER_BLOCK
|
||||
{
|
||||
ULONG Unknown[139];
|
||||
ULONG Flags;
|
||||
} SETUP_LOADER_BLOCK, *PSETUP_LOADER_BLOCK;
|
||||
|
||||
//
|
||||
// Loader Parameter Block
|
||||
//
|
||||
typedef struct _LOADER_PARAMETER_BLOCK
|
||||
{
|
||||
LIST_ENTRY LoadOrderListHead;
|
||||
LIST_ENTRY MemoryDescriptorListHead;
|
||||
LIST_ENTRY DriverList;
|
||||
PVOID KernelStack;
|
||||
PVOID Prcb;
|
||||
PVOID Process;
|
||||
PVOID Thread;
|
||||
ULONG RegistryLength;
|
||||
PVOID RegistryBase;
|
||||
PCONFIGURATION_COMPONENT_DATA ConfigurationRoot;
|
||||
LPSTR ArcBootDeviceName;
|
||||
LPSTR ArcHalDeviceName;
|
||||
LPSTR SystemRoot;
|
||||
LPSTR BootRoot;
|
||||
LPSTR CommandLine;
|
||||
PNLS_TABLE_DATA NlsTables;
|
||||
PARC_DISK_INFORMATION ArcDevices;
|
||||
PVOID OEMFont;
|
||||
PSETUP_LOADER_BLOCK SetupLdrBlock;
|
||||
PLOADER_PARAMETER_EXTENSION LpbExtension;
|
||||
union
|
||||
{
|
||||
I386_LOADER_BLOCK I386;
|
||||
} u;
|
||||
} LOADER_PARAMETER_BLOCK, *PLOADER_PARAMETER_BLOCK;
|
||||
|
||||
#else
|
||||
|
||||
//
|
||||
// FIXME: ReactOS ONLY
|
||||
//
|
||||
typedef struct _LOADER_MODULE
|
||||
{
|
||||
|
@ -77,7 +193,6 @@ typedef struct _LOADER_MODULE
|
|||
ULONG String;
|
||||
ULONG Reserved;
|
||||
} LOADER_MODULE, *PLOADER_MODULE;
|
||||
|
||||
typedef struct _LOADER_PARAMETER_BLOCK
|
||||
{
|
||||
ULONG Flags;
|
||||
|
@ -98,6 +213,7 @@ typedef struct _LOADER_PARAMETER_BLOCK
|
|||
ULONG PageDirectoryEnd;
|
||||
ULONG KernelBase;
|
||||
} LOADER_PARAMETER_BLOCK, *PLOADER_PARAMETER_BLOCK;
|
||||
#endif
|
||||
|
||||
//
|
||||
// Kernel Exports
|
||||
|
|
|
@ -117,12 +117,89 @@ typedef enum _OBJECT_INFORMATION_CLASS
|
|||
ObjectHandleInformation
|
||||
} OBJECT_INFORMATION_CLASS;
|
||||
|
||||
/* FUNCTION TYPES ************************************************************/
|
||||
//
|
||||
// Dump Control Structure for Object Debugging
|
||||
//
|
||||
typedef struct _OBJECT_DUMP_CONTROL
|
||||
{
|
||||
PVOID Stream;
|
||||
ULONG Detail;
|
||||
} OBJECT_DUMP_CONTROL, *POBJECT_DUMP_CONTROL;
|
||||
|
||||
#ifndef NTOS_MODE_USER
|
||||
#ifndef _REACTOS_
|
||||
|
||||
//
|
||||
// FIXME: Object Callbacks
|
||||
// Object Type Callbacks
|
||||
//
|
||||
typedef VOID
|
||||
(NTAPI *OB_DUMP_METHOD)(
|
||||
IN PVOID Object,
|
||||
IN POB_DUMP_CONTROL Control OPTIONAL
|
||||
);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *OB_OPEN_METHOD)(
|
||||
IN OB_OPEN_REASON Reason,
|
||||
IN PEPROCESS Process OPTIONAL,
|
||||
IN PVOID ObjectBody,
|
||||
IN ACCESS_MASK GrantedAccess,
|
||||
IN ULONG HandleCount
|
||||
);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *OB_CLOSE_METHOD)(
|
||||
IN PEPROCESS Process OPTIONAL,
|
||||
IN PVOID Object,
|
||||
IN ACCESS_MASK GrantedAccess,
|
||||
IN ULONG ProcessHandleCount,
|
||||
IN ULONG SystemHandleCount
|
||||
);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *OB_DELETE_METHOD)(
|
||||
IN PVOID Object
|
||||
);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *OB_PARSE_METHOD)(
|
||||
IN PVOID ParseObject,
|
||||
IN PVOID ObjectType,
|
||||
IN OUT PACCESS_STATE AccessState,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
IN ULONG Attributes,
|
||||
IN OUT PUNICODE_STRING CompleteName,
|
||||
IN OUT PUNICODE_STRING RemainingName,
|
||||
IN OUT PVOID Context OPTIONAL,
|
||||
IN PSECURITY_QUALITY_OF_SERVICE SecurityQos OPTIONAL,
|
||||
OUT PVOID *Object
|
||||
);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *OB_SECURITY_METHOD)(
|
||||
IN PVOID Object,
|
||||
IN SECURITY_OPERATION_CODE OperationType,
|
||||
IN SECURITY_INFORMATION SecurityInformation,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN OUT PULONG CapturedLength,
|
||||
IN OUT PSECURITY_DESCRIPTOR *ObjectSecurityDescriptor,
|
||||
IN POOL_TYPE PoolType,
|
||||
IN PGENERIC_MAPPING GenericMapping
|
||||
);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *OB_QUERYNAME_METHOD)(
|
||||
IN PVOID Object,
|
||||
IN BOOLEAN HasObjectName,
|
||||
OUT POBJECT_NAME_INFORMATION ObjectNameInfo,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ReturnLength
|
||||
);
|
||||
|
||||
#else
|
||||
|
||||
//
|
||||
// FIXME: ReactOS ONLY Object Callbacks
|
||||
//
|
||||
typedef NTSTATUS
|
||||
(NTAPI *OB_OPEN_METHOD)(
|
||||
|
@ -198,6 +275,8 @@ typedef NTSTATUS
|
|||
struct _OBJECT_ATTRIBUTES* ObjectAttributes
|
||||
);
|
||||
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
//
|
||||
|
|
Loading…
Reference in a new issue