[KERNEL32]
[reactos.git] / reactos / dll / win32 / kernel32 / include / kernel32.h
index b2abfa8..4d3f032 100755 (executable)
@@ -1,5 +1,4 @@
-#ifndef _KERNEL32_INCLUDE_KERNEL32_H
-#define _KERNEL32_INCLUDE_KERNEL32_H
+#pragma once
 
 #include "baseheap.h"
 
 #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
 #define SetLastErrorByStatus(__S__) \
  ((void)SetLastError(RtlNtStatusToDosError(__S__)))
 
+typedef struct _CODEPAGE_ENTRY
+{
+   LIST_ENTRY Entry;
+   UINT CodePage;
+   HANDLE SectionHandle;
+   PBYTE SectionMapping;
+   CPTABLEINFO CodePageTable;
+} CODEPAGE_ENTRY, *PCODEPAGE_ENTRY;
+
 typedef
 DWORD
 (*WaitForInputIdleType)(
@@ -59,21 +73,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);
@@ -83,20 +102,20 @@ DWORD FilenameU2A_FitOrFail(LPSTR  DestA, INT destLen, PUNICODE_STRING SourceU);
 #define HeapFree RtlFreeHeap
 
 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 +123,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 +146,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 +182,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);