1 #ifndef _KERNEL32_INCLUDE_KERNEL32_H
2 #define _KERNEL32_INCLUDE_KERNEL32_H
4 #define BINARY_UNKNOWN (0)
5 #define BINARY_PE_EXE32 (1)
6 #define BINARY_PE_DLL32 (2)
7 #define BINARY_PE_EXE64 (3)
8 #define BINARY_PE_DLL64 (4)
9 #define BINARY_WIN16 (5)
10 #define BINARY_OS216 (6)
11 #define BINARY_DOS (7)
12 #define BINARY_UNIX_EXE (8)
13 #define BINARY_UNIX_LIB (9)
15 #define MAGIC(c1,c2,c3,c4) ((c1) + ((c2)<<8) + ((c3)<<16) + ((c4)<<24))
17 #define MAGIC_HEAP MAGIC( 'H','E','A','P' )
19 #define ROUNDUP(a,b) ((((a)+(b)-1)/(b))*(b))
20 #define ROUNDDOWN(a,b) (((a)/(b))*(b))
23 #define FIELD_OFFSET(type,fld) ((LONG)&(((type *)0)->fld))
26 #define SetLastErrorByStatus(__S__) \
27 ((void)SetLastError(RtlNtStatusToDosError(__S__)))
31 (*WaitForInputIdleType
)(
33 DWORD dwMilliseconds
);
35 /* GLOBAL VARIABLES **********************************************************/
37 extern BOOL bIsFileApiAnsi
;
38 extern HANDLE hProcessHeap
;
39 extern HANDLE hBaseDir
;
40 extern HMODULE hCurrentModule
;
42 extern RTL_CRITICAL_SECTION DllLock
;
44 extern UNICODE_STRING DllDirectory
;
46 extern LPTOP_LEVEL_EXCEPTION_FILTER GlobalTopLevelExceptionFilter
;
48 /* FUNCTION PROTOTYPES *******************************************************/
50 BOOL STDCALL
IsConsoleHandle(HANDLE Handle
);
52 BOOL STDCALL
VerifyConsoleIoHandle(HANDLE Handle
);
54 BOOL STDCALL
CloseConsoleHandle(HANDLE Handle
);
56 HANDLE STDCALL
OpenConsoleW (LPWSTR wsName
,
57 DWORD dwDesiredAccess
,
59 DWORD dwCreationDistribution
);
64 PWCHAR
FilenameA2W(LPCSTR NameA
, BOOL alloc
);
66 DWORD
FilenameW2A_FitOrFail(LPSTR DestA
, INT destLen
, LPCWSTR SourceW
, INT sourceLen
);
67 DWORD
FilenameU2A_FitOrFail(LPSTR DestA
, INT destLen
, PUNICODE_STRING SourceU
);
69 #define HeapAlloc RtlAllocateHeap
70 #define HeapFree RtlFreeHeap
72 #endif /* ndef _KERNEL32_INCLUDE_KERNEL32_H */