Sync with trunk (r48545)
[reactos.git] / dll / win32 / kernel32 / include / kernel32.h
index b2abfa8..55b1338 100755 (executable)
@@ -1,6 +1,25 @@
-#ifndef _KERNEL32_INCLUDE_KERNEL32_H
-#define _KERNEL32_INCLUDE_KERNEL32_H
-
+#pragma once
+
+//
+// Kernel32 Filter IDs
+//
+#define kernel32file            200
+#define kernel32ver             201
+#define actctx                  202
+#define resource                203
+#define kernel32session         204
+
+#define TRACE(fmt, ...)         TRACE__(gDebugChannel, fmt, ##__VA_ARGS__)
+#define WARN(fmt, ...)          WARN__(gDebugChannel, fmt, ##__VA_ARGS__)
+#define FIXME(fmt, ...)         WARN__(gDebugChannel, fmt,## __VA_ARGS__)
+#define ERR(fmt, ...)           ERR__(gDebugChannel, fmt, ##__VA_ARGS__)
+
+#define debugstr_a  
+#define debugstr_w
+#define wine_dbgstr_w  
+#define debugstr_guid
+
+#include "wine/unicode.h"
 #include "baseheap.h"
 
 #define BINARY_UNKNOWN (0)
 #define ROUNDUP(a,b)   ((((a)+(b)-1)/(b))*(b))
 #define ROUNDDOWN(a,b) (((a)/(b))*(b))
 
+#define ROUND_DOWN(n, align) \
+    (((ULONG)n) & ~((align) - 1l))
+
+#define ROUND_UP(n, align) \
+    ROUND_DOWN(((ULONG)n) + (align) - 1, (align))
+
 #ifndef FIELD_OFFSET
 #define FIELD_OFFSET(type,fld) ((LONG)&(((type *)0)->fld))
 #endif
 
 #define IsConsoleHandle(h) \
-  (((((ULONG)h) & 0x10000003) == 0x3) ? TRUE : FALSE)
+  (((((ULONG_PTR)h) & 0x10000003) == 0x3) ? TRUE : FALSE)
 
 #define HANDLE_DETACHED_PROCESS    (HANDLE)-2
 #define HANDLE_CREATE_NEW_CONSOLE  (HANDLE)-3
 /* Undocumented CreateProcess flag */
 #define STARTF_SHELLPRIVATE         0x400
   
-#define SetLastErrorByStatus(__S__) \
- ((void)SetLastError(RtlNtStatusToDosError(__S__)))
+#define SetLastErrorByStatus(x) RtlSetLastWin32ErrorAndNtStatusFromNtStatus((x))
+#define GetLastError()          NtCurrentTeb()->LastErrorValue
+#define SetLastError(x)         NtCurrentTeb()->LastErrorValue = (x)
+
+typedef struct _CODEPAGE_ENTRY
+{
+   LIST_ENTRY Entry;
+   UINT CodePage;
+   HANDLE SectionHandle;
+   PBYTE SectionMapping;
+   CPTABLEINFO CodePageTable;
+} CODEPAGE_ENTRY, *PCODEPAGE_ENTRY;
 
 typedef
 DWORD
@@ -59,21 +94,26 @@ extern LPTOP_LEVEL_EXCEPTION_FILTER GlobalTopLevelExceptionFilter;
 
 /* FUNCTION PROTOTYPES *******************************************************/
 
-BOOL STDCALL VerifyConsoleIoHandle(HANDLE Handle);
+BOOL WINAPI VerifyConsoleIoHandle(HANDLE Handle);
 
-BOOL STDCALL CloseConsoleHandle(HANDLE Handle);
+BOOL WINAPI CloseConsoleHandle(HANDLE Handle);
 
-HANDLE STDCALL
+HANDLE WINAPI
 GetConsoleInputWaitHandle (VOID);
 
-HANDLE STDCALL OpenConsoleW (LPCWSTR wsName,
+HANDLE WINAPI OpenConsoleW (LPCWSTR wsName,
                             DWORD  dwDesiredAccess,
                             BOOL   bInheritHandle,
-                            DWORD  dwCreationDistribution);
+                            DWORD  dwShareMode);
+
+BOOL WINAPI SetConsoleInputExeNameW(LPCWSTR lpInputExeName);
 
 PTEB GetTeb(VOID);
 
+HANDLE FASTCALL TranslateStdHandle(HANDLE hHandle);
+
 PWCHAR FilenameA2W(LPCSTR NameA, BOOL alloc);
+DWORD FilenameW2A_N(LPSTR dest, INT destlen, LPCWSTR src, INT srclen);
 
 DWORD FilenameW2A_FitOrFail(LPSTR  DestA, INT destLen, LPCWSTR SourceW, INT sourceLen);
 DWORD FilenameU2A_FitOrFail(LPSTR  DestA, INT destLen, PUNICODE_STRING SourceU);
@@ -81,22 +121,23 @@ DWORD FilenameU2A_FitOrFail(LPSTR  DestA, INT destLen, PUNICODE_STRING SourceU);
 #define HeapAlloc RtlAllocateHeap
 #define HeapReAlloc RtlReAllocateHeap
 #define HeapFree RtlFreeHeap
+#define _lread  (_readfun)_hread
 
 POBJECT_ATTRIBUTES
-STDCALL
+WINAPI
 BasepConvertObjectAttributes(OUT POBJECT_ATTRIBUTES ObjectAttributes,
                              IN PSECURITY_ATTRIBUTES SecurityAttributes OPTIONAL,
                              IN PUNICODE_STRING ObjectName);
                              
 NTSTATUS
-STDCALL
+WINAPI
 BasepCreateStack(HANDLE hProcess,
-                 ULONG StackReserve,
-                 ULONG StackCommit,
+                 SIZE_T StackReserve,
+                 SIZE_T StackCommit,
                  PINITIAL_TEB InitialTeb);
                  
 VOID
-STDCALL
+WINAPI
 BasepInitializeContext(IN PCONTEXT Context,
                        IN PVOID Parameter,
                        IN PVOID StartAddress,
@@ -104,21 +145,21 @@ BasepInitializeContext(IN PCONTEXT Context,
                        IN ULONG ContextType);
                 
 VOID
-STDCALL
+WINAPI
 BaseThreadStartupThunk(VOID);
 
 VOID
-STDCALL
+WINAPI
 BaseProcessStartThunk(VOID);
         
 __declspec(noreturn)
 VOID
-STDCALL
+WINAPI
 BaseThreadStartup(LPTHREAD_START_ROUTINE lpStartAddress,
                   LPVOID lpParameter);
                   
 VOID
-STDCALL
+WINAPI
 BasepFreeStack(HANDLE hProcess,
                PINITIAL_TEB InitialTeb);
 
@@ -127,32 +168,32 @@ VOID
 WINAPI
 BaseFiberStartup(VOID);
 
-typedef UINT (STDCALL *PPROCESS_START_ROUTINE)(VOID);
+typedef UINT (WINAPI *PPROCESS_START_ROUTINE)(VOID);
 
 VOID
-STDCALL
+WINAPI
 BaseProcessStartup(PPROCESS_START_ROUTINE lpStartAddress);
                   
 BOOLEAN
-STDCALL
+WINAPI
 BasepCheckRealTimePrivilege(VOID);
 
 VOID
-STDCALL
+WINAPI
 BasepAnsiStringToHeapUnicodeString(IN LPCSTR AnsiString,
                                    OUT LPWSTR* UnicodeString);
                                    
 PUNICODE_STRING
-STDCALL
+WINAPI
 Basep8BitStringToCachedUnicodeString(IN LPCSTR String);
 
 NTSTATUS
-STDCALL
+WINAPI
 Basep8BitStringToLiveUnicodeString(OUT PUNICODE_STRING UnicodeString,
                                    IN LPCSTR String);
 
 NTSTATUS
-STDCALL
+WINAPI
 Basep8BitStringToHeapUnicodeString(OUT PUNICODE_STRING UnicodeString,
                                    IN LPCSTR String);
 
@@ -163,10 +204,17 @@ typedef NTSTATUS (NTAPI *PRTL_CONVERT_STRING)(IN PUNICODE_STRING UnicodeString,
 extern PRTL_CONVERT_STRING Basep8BitStringToUnicodeString;
 
 NTSTATUS
-STDCALL
+WINAPI
 BasepMapFile(IN LPCWSTR lpApplicationName,
              OUT PHANDLE hSection,
              IN PUNICODE_STRING ApplicationName);
 
-#endif /* ndef _KERNEL32_INCLUDE_KERNEL32_H */
+PCODEPAGE_ENTRY FASTCALL
+IntGetCodePageEntry(UINT CodePage);
+
+LPWSTR
+GetDllLoadPath(LPCWSTR lpModule);
 
+VOID
+WINAPI
+InitCommandLines(VOID);