1998-09-05 17:33:57 +00:00
|
|
|
/*
|
|
|
|
* Various useful prototypes
|
|
|
|
*/
|
|
|
|
|
2000-05-13 13:51:08 +00:00
|
|
|
#ifndef __INCLUDE_INTERNAL_NTOSKRNL_H
|
|
|
|
#define __INCLUDE_INTERNAL_NTOSKRNL_H
|
|
|
|
|
|
|
|
#ifndef __ASM__
|
1998-09-05 17:33:57 +00:00
|
|
|
|
|
|
|
#include <ddk/ntddk.h>
|
|
|
|
|
|
|
|
#include <stdarg.h>
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Use these to place a function in a specific section of the executable
|
|
|
|
*/
|
|
|
|
#define PLACE_IN_SECTION(s) __attribute__((section (s)))
|
|
|
|
#define INIT_FUNCTION (PLACE_IN_SECTION("init"))
|
|
|
|
#define PAGE_LOCKED_FUNCTION (PLACE_IN_SECTION("pagelk"))
|
|
|
|
#define PAGE_UNLOCKED_FUNCTION (PLACE_IN_SECTION("pagepo"))
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Defines a descriptor as it appears in the processor tables
|
|
|
|
*/
|
2001-04-13 16:12:26 +00:00
|
|
|
typedef struct _DESCRIPTOR
|
1998-09-05 17:33:57 +00:00
|
|
|
{
|
2001-04-13 16:12:26 +00:00
|
|
|
ULONG a;
|
|
|
|
ULONG b;
|
|
|
|
} __attribute__ ((packed)) IDT_DESCRIPTOR, GDT_DESCRIPTOR;
|
1998-09-05 17:33:57 +00:00
|
|
|
|
1999-11-02 08:55:45 +00:00
|
|
|
extern IDT_DESCRIPTOR KiIdt[256];
|
|
|
|
//extern GDT_DESCRIPTOR KiGdt[256];
|
1998-09-05 17:33:57 +00:00
|
|
|
|
|
|
|
|
1999-02-01 20:58:37 +00:00
|
|
|
VOID NtInitializeEventImplementation(VOID);
|
|
|
|
VOID NtInit(VOID);
|
1998-09-05 17:33:57 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Initalization functions (called once by main())
|
|
|
|
*/
|
2000-07-01 18:27:03 +00:00
|
|
|
VOID MmInitSystem(ULONG Phase, PLOADER_PARAMETER_BLOCK LoaderBlock, ULONG LastKernelAddress);
|
1999-02-01 20:58:37 +00:00
|
|
|
VOID IoInit(VOID);
|
|
|
|
VOID ObInit(VOID);
|
|
|
|
VOID PsInit(VOID);
|
1999-08-14 18:59:28 +00:00
|
|
|
VOID CmInitializeRegistry(VOID);
|
2000-10-05 19:15:50 +00:00
|
|
|
VOID CmShutdownRegistry(VOID);
|
2001-09-04 21:06:27 +00:00
|
|
|
VOID CmImportHive(PCHAR ChunkBase, ULONG ChunkSize);
|
2000-07-01 18:27:03 +00:00
|
|
|
VOID KdInitSystem(ULONG Reserved, PLOADER_PARAMETER_BLOCK LoaderBlock);
|
1998-09-05 17:33:57 +00:00
|
|
|
|
2001-11-02 09:10:49 +00:00
|
|
|
VOID RtlpInitNlsTables(VOID);
|
|
|
|
|
2001-06-29 20:31:03 +00:00
|
|
|
NTSTATUS RtlpInitNlsSections(ULONG Mod1Start,
|
|
|
|
ULONG Mod1End,
|
|
|
|
ULONG Mod2Start,
|
|
|
|
ULONG Mod2End,
|
|
|
|
ULONG Mod3Start,
|
|
|
|
ULONG Mod3End);
|
|
|
|
|
2000-05-13 13:51:08 +00:00
|
|
|
#endif /* __ASM__ */
|
|
|
|
|
|
|
|
/*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
#define MM_STACK_SIZE (3*4096)
|
|
|
|
|
|
|
|
#endif /* INCLUDE_INTERNAL_NTOSKRNL_H */
|