Fix some ntoskrnl things, like using Rtl instead of RosRtl, and undefining ROUND...
[reactos.git] / reactos / ntoskrnl / include / internal / ntoskrnl.h
1 /*
2 * Various useful prototypes
3 */
4
5 #ifndef __INCLUDE_INTERNAL_NTOSKRNL_H
6 #define __INCLUDE_INTERNAL_NTOSKRNL_H
7
8 #ifndef __ASM__
9
10 /*
11 * Use these to place a function in a specific section of the executable
12 */
13 #define PLACE_IN_SECTION(s) __attribute__((section (s)))
14 #define INIT_FUNCTION PLACE_IN_SECTION("init")
15 #define PAGE_LOCKED_FUNCTION PLACE_IN_SECTION("pagelk")
16 #define PAGE_UNLOCKED_FUNCTION PLACE_IN_SECTION("pagepo")
17
18 #include <pshpack1.h>
19 /*
20 * Defines a descriptor as it appears in the processor tables
21 */
22 typedef struct _DESCRIPTOR
23 {
24 ULONG a;
25 ULONG b;
26 } IDT_DESCRIPTOR, GDT_DESCRIPTOR;
27
28 #include <poppack.h>
29
30 extern IDT_DESCRIPTOR KiIdt[256];
31 //extern GDT_DESCRIPTOR KiGdt[256];
32
33
34 VOID ExpInitializeEventImplementation(VOID);
35 VOID ExpInitializeEventImplementation(VOID);
36 VOID ExpInitializeEventPairImplementation(VOID);
37 VOID ExpInitializeSemaphoreImplementation(VOID);
38 VOID ExpInitializeMutantImplementation(VOID);
39 VOID ExpInitializeTimerImplementation(VOID);
40 VOID ExpInitializeProfileImplementation(VOID);
41 /*
42 * Initalization functions (called once by main())
43 */
44 VOID MmInitSystem(ULONG Phase, PLOADER_PARAMETER_BLOCK LoaderBlock, ULONG LastKernelAddress);
45 VOID IoInit(VOID);
46 VOID IoInit2(BOOLEAN BootLog);
47 VOID STDCALL IoInit3(VOID);
48 VOID ObInit(VOID);
49 VOID PsInit(VOID);
50 VOID CmInitializeRegistry(VOID);
51 VOID STDCALL CmInitHives(BOOLEAN SetupBoot);
52 VOID CmInit2(PCHAR CommandLine);
53 VOID CmShutdownRegistry(VOID);
54 BOOLEAN CmImportSystemHive(PCHAR ChunkBase, ULONG ChunkSize);
55 BOOLEAN CmImportHardwareHive(PCHAR ChunkBase, ULONG ChunkSize);
56 VOID KdInitSystem(ULONG Reserved, PLOADER_PARAMETER_BLOCK LoaderBlock);
57
58 BOOLEAN
59 FASTCALL
60 RtlpCreateUnicodeString(
61 IN OUT PUNICODE_STRING UniDest,
62 IN PCWSTR Source,
63 IN POOL_TYPE PoolType);
64
65 #endif /* __ASM__ */
66
67 /*
68 *
69 */
70 #define MM_STACK_SIZE (3*4096)
71
72 #endif /* INCLUDE_INTERNAL_NTOSKRNL_H */