7c4befd0cfe7fabc4878e479e6af2caaff67589b
[reactos.git] / reactos / include / kernel32 / kernel32.h
1 #ifndef _INCLUDE_KERNEL32_KERNEL32_H
2 #define _INCLUDE_KERNEL32_KERNEL32_H
3
4 #include <windows.h>
5
6 #define UNIMPLEMENTED DbgPrint("%s at %s:%d is unimplemented\n",__FUNCTION__,__FILE__,__LINE__);
7
8 #ifdef NDEBUG
9 #define DPRINT(args...)
10 #define CHECKPOINT
11 #ifdef assert
12 #undef assert
13 #endif
14 #define assert(x)
15 #else
16 #define DPRINT(args...) do { DbgPrint("(KERNEL32:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0);
17 #define CHECKPOINT do { DbgPrint("(KERNEL32:%s:%d) Checkpoint\n",__FILE__,__LINE__); } while(0);
18 #ifdef assert
19 #undef assert
20 #endif
21 #define assert(x) do { if(!x) RtlAssert(x, __FILE__,__LINE__, ""); } while(0);
22 #endif
23
24 #define DPRINT1(args...) do { DbgPrint("(KERNEL32:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0);
25 #define CHECKPOINT1 do { DbgPrint("(KERNEL32:%s:%d) Checkpoint\n",__FILE__,__LINE__); } while(0);
26
27 #define MAGIC(c1,c2,c3,c4) ((c1) + ((c2)<<8) + ((c3)<<16) + ((c4)<<24))
28
29 #define MAGIC_HEAP MAGIC( 'H','E','A','P' )
30
31 #define ROUNDUP(a,b) ((((a)+(b)-1)/(b))*(b))
32 #define ROUNDDOWN(a,b) (((a)/(b))*(b))
33
34 #ifndef FIELD_OFFSET
35 #define FIELD_OFFSET(type,fld) ((LONG)&(((type *)0)->fld))
36 #endif
37
38 /* GLOBAL VARIABLES **********************************************************/
39
40 extern WINBOOL bIsFileApiAnsi;
41 extern HANDLE hProcessHeap;
42 extern HANDLE hBaseDir;
43
44 extern CRITICAL_SECTION DllLock;
45
46 /* FUNCTION PROTOTYPES *******************************************************/
47
48 BOOLEAN STDCALL IsConsoleHandle(HANDLE Handle);
49
50 WINBOOL STDCALL CloseConsoleHandle(HANDLE Handle);
51
52 #endif /* ndef _INCLUDE_KERNEL32_KERNEL32_H */
53