Fix kdbg build and some more header cleanups: add csq.q to ntifs, since it's now...
[reactos.git] / reactos / ntoskrnl / include / internal / ntoskrnl.h
1 #ifndef __INCLUDE_INTERNAL_NTOSKRNL_H
2 #define __INCLUDE_INTERNAL_NTOSKRNL_H
3
4 /*
5 * Use these to place a function in a specific section of the executable
6 */
7 #define PLACE_IN_SECTION(s) __attribute__((section (s)))
8 #define INIT_FUNCTION PLACE_IN_SECTION("init")
9 #define PAGE_LOCKED_FUNCTION PLACE_IN_SECTION("pagelk")
10 #define PAGE_UNLOCKED_FUNCTION PLACE_IN_SECTION("pagepo")
11
12 #ifdef _NTOSKRNL_
13
14 #include "asm.h"
15 #include "ke.h"
16 #include "i386/mm.h"
17 #include "i386/fpu.h"
18 #include "module.h"
19 #include "ob.h"
20 #include "mm.h"
21 #include "ps.h"
22 #include "cc.h"
23 #include "io.h"
24 #include "po.h"
25 #include "se.h"
26 #include "ldr.h"
27 #include "kd.h"
28 #include "ex.h"
29 #include "xhal.h"
30 #include "v86m.h"
31 #include "fs.h"
32 #include "port.h"
33 #include "nls.h"
34 #ifdef KDBG
35 #include "../kdbg/kdb.h"
36 #endif
37 #include "dbgk.h"
38 #include "tag.h"
39 #include "test.h"
40 #include "inbv.h"
41
42 #include <pshpack1.h>
43 /*
44 * Defines a descriptor as it appears in the processor tables
45 */
46 typedef struct __DESCRIPTOR
47 {
48 ULONG a;
49 ULONG b;
50 } IDT_DESCRIPTOR, GDT_DESCRIPTOR;
51
52 #include <poppack.h>
53
54 extern IDT_DESCRIPTOR KiIdt[256];
55 //extern GDT_DESCRIPTOR KiGdt[256];
56
57 /*
58 * Initalization functions (called once by main())
59 */
60 VOID MmInitSystem(ULONG Phase, PLOADER_PARAMETER_BLOCK LoaderBlock, ULONG LastKernelAddress);
61 VOID IoInit(VOID);
62 VOID IoInit2(BOOLEAN BootLog);
63 VOID STDCALL IoInit3(VOID);
64 VOID ObInit(VOID);
65 VOID PsInit(VOID);
66 VOID CmInitializeRegistry(VOID);
67 VOID STDCALL CmInitHives(BOOLEAN SetupBoot);
68 VOID CmInit2(PCHAR CommandLine);
69 VOID CmShutdownRegistry(VOID);
70 BOOLEAN CmImportSystemHive(PCHAR ChunkBase, ULONG ChunkSize);
71 BOOLEAN CmImportHardwareHive(PCHAR ChunkBase, ULONG ChunkSize);
72 VOID KdInitSystem(ULONG Reserved, PLOADER_PARAMETER_BLOCK LoaderBlock);
73
74 BOOLEAN
75 FASTCALL
76 RtlpCreateUnicodeString(
77 IN OUT PUNICODE_STRING UniDest,
78 IN PCWSTR Source,
79 IN POOL_TYPE PoolType);
80
81 NTSTATUS
82 RtlCaptureUnicodeString(
83 OUT PUNICODE_STRING Dest,
84 IN KPROCESSOR_MODE CurrentMode,
85 IN POOL_TYPE PoolType,
86 IN BOOLEAN CaptureIfKernel,
87 IN PUNICODE_STRING UnsafeSrc
88 );
89
90 VOID
91 RtlReleaseCapturedUnicodeString(
92 IN PUNICODE_STRING CapturedString,
93 IN KPROCESSOR_MODE CurrentMode,
94 IN BOOLEAN CaptureIfKernel
95 );
96
97 #endif
98
99 /*
100 *
101 */
102 #define MM_STACK_SIZE (3*4096)
103
104 #endif /* INCLUDE_INTERNAL_NTOSKRNL_H */