Lots of changes to the kernel
[reactos.git] / reactos / include / kernel32 / kernel32.h
1 #include <windows.h>
2
3 #define UNIMPLEMENTED dprintf("%s at %s:%d is unimplemented\n",__FUNCTION__,__FILE__,__LINE__);
4
5 #ifdef NDEBUG
6 #define DPRINT(args...)
7 #define CHECKPOINT
8 #else
9 #define DPRINT(args...) do { dprintf("(KERNEL32:%s:%d) ",__FILE__,__LINE__); dprintf(args); } while(0);
10 #define CHECKPOINT do { dprintf("(KERNEL32:%s:%d) Checkpoint\n",__FILE__,__LINE__); } while(0);
11 #endif
12
13 void dprintf(char* fmt, ...);
14 void aprintf(char* fmt, ...);
15
16 #define MAGIC(c1,c2,c3,c4) ((c1) + ((c2)<<8) + ((c3)<<16) + ((c4)<<24))
17
18 #define MAGIC_HEAP MAGIC( 'H','E','A','P' )
19
20 #define ROUNDUP(a,b) ((((a)+(b)-1)/(b))*(b))
21 #define ROUNDDOWN(a,b) (((a)/(b))*(b))
22
23 #ifndef FIELD_OFFSET
24 #define FIELD_OFFSET(type,fld) ((LONG)&(((type *)0)->fld))
25 #endif
26
27 BOOL __ErrorReturnFalse(ULONG ErrorCode);
28 PVOID __ErrorReturnNull(ULONG ErrorCode);
29
30 BOOL KERNEL32_AnsiToUnicode(PWSTR DestStr,
31 LPCSTR SrcStr,
32 ULONG MaxLen);
33 PWSTR InternalAnsiToUnicode(PWSTR Out, LPCSTR In, ULONG MaxLength);