dbe6e094d787363b537750c7059d9f991d32610f
[reactos.git] / include / xdk / mips / ke.h
1 $if (_WDMDDK_)
2 #error MIPS Headers are totally incorrect
3
4 //
5 // Used to contain PFNs and PFN counts
6 //
7 typedef ULONG PFN_COUNT;
8 typedef ULONG PFN_NUMBER, *PPFN_NUMBER;
9 typedef LONG SPFN_NUMBER, *PSPFN_NUMBER;
10
11 #define PASSIVE_LEVEL 0
12 #define APC_LEVEL 1
13 #define DISPATCH_LEVEL 2
14 #define PROFILE_LEVEL 27
15 #define IPI_LEVEL 29
16 #define HIGH_LEVEL 31
17
18 typedef struct _KPCR {
19 struct _KPRCB *Prcb; /* 20 */
20 KIRQL Irql; /* 24 */
21 ULONG IRR; /* 28 */
22 ULONG IDR; /* 30 */
23 } KPCR, *PKPCR;
24
25 #define KeGetPcr() PCR
26
27 typedef struct _KFLOATING_SAVE {
28 } KFLOATING_SAVE, *PKFLOATING_SAVE;
29
30 static __inline
31 ULONG
32 DDKAPI
33 KeGetCurrentProcessorNumber(VOID)
34 {
35 return 0;
36 }
37
38 #define YieldProcessor() __asm__ __volatile__("nop");
39
40 #define KeLowerIrql(a) KfLowerIrql(a)
41 #define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)
42
43 NTKERNELAPI
44 VOID
45 NTAPI
46 KfLowerIrql(
47 IN KIRQL NewIrql);
48
49 NTKERNELAPI
50 KIRQL
51 NTAPI
52 KfRaiseIrql(
53 IN KIRQL NewIrql);
54
55 NTKERNELAPI
56 KIRQL
57 NTAPI
58 KeRaiseIrqlToDpcLevel(VOID);
59
60 NTKERNELAPI
61 KIRQL
62 NTAPI
63 KeRaiseIrqlToSynchLevel(VOID);
64
65 $endif
66