Use W32API for NTOSKRNL.
[reactos.git] / reactos / hal / halx86 / include / hal.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Hardware Abstraction Layer
4 * FILE: hal/halx86/include/hal.h
5 * PURPOSE: HAL Header
6 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
7 */
8
9 /* INCLUDES ******************************************************************/
10
11 /* SDK/DDK/NDK Headers. */
12 #include <ddk/ntddk.h>
13 #include <stdio.h>
14
15 /* FIXME: NDK Headers */
16 #include <roskrnl.h>
17
18 /* Internal Kernel Headers */
19 //#include <internal/mm.h>
20 #include <internal/ke.h>
21 #include <internal/i386/ps.h>
22
23 //Temporary hack below.
24 PVOID STDCALL
25 MmAllocateContiguousAlignedMemory(IN ULONG NumberOfBytes,
26 IN PHYSICAL_ADDRESS LowestAcceptableAddress,
27 IN PHYSICAL_ADDRESS HighestAcceptableAddress,
28 IN PHYSICAL_ADDRESS BoundaryAddressMultiple OPTIONAL,
29 IN MEMORY_CACHING_TYPE CacheType OPTIONAL,
30 IN ULONG Alignment);
31
32 /* FIXME: NDK */
33 VOID STDCALL KeEnterKernelDebugger (VOID);
34 VOID FASTCALL KiAcquireSpinLock(PKSPIN_LOCK SpinLock);
35 VOID FASTCALL KiReleaseSpinLock(PKSPIN_LOCK SpinLock);
36 VOID STDCALL KiDispatchInterrupt(VOID);
37 NTSTATUS
38 STDCALL
39 ObCreateObject (
40 IN KPROCESSOR_MODE ObjectAttributesAccessMode OPTIONAL,
41 IN POBJECT_TYPE ObjectType,
42 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
43 IN KPROCESSOR_MODE AccessMode,
44 IN OUT PVOID ParseContext OPTIONAL,
45 IN ULONG ObjectSize,
46 IN ULONG PagedPoolCharge OPTIONAL,
47 IN ULONG NonPagedPoolCharge OPTIONAL,
48 OUT PVOID *Object
49 );
50
51 /* Debug Header */
52 #include <debug.h>
53
54 /* Internal HAL Headers */
55 #include "apic.h"
56 #include "bus.h"
57 #include "halirq.h"
58 #include "halp.h"
59 #include "mps.h"
60 #include "ioapic.h"
61
62 /* Helper Macros FIXME: NDK */
63 #define ROUNDUP(a,b) ((((a)+(b)-1)/(b))*(b))
64 #define ROUND_DOWN(N, S) ((N) - ((N) % (S)))
65 #ifndef HIWORD
66 #define HIWORD(l) ((WORD)(((DWORD)(l) >> 16) & 0xFFFF))
67 #endif
68 #ifndef LOWORD
69 #define LOWORD(l) ((WORD)(l))
70 #endif
71
72 /* EOF */