X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Flib%2Fkernel32%2Finclude%2Fkernel32.h;h=c11dc4c91d0ea5e05127d710da31f81dbd0aa775;hp=c659c873e0409160f6e14d43e5fec256a3ad3847;hb=bec5197e46cd597b61138a94bf86ac54429b4933;hpb=72a6942f36953471e7183b724f3d99d804eb769a diff --git a/reactos/lib/kernel32/include/kernel32.h b/reactos/lib/kernel32/include/kernel32.h index c659c873e04..c11dc4c91d0 100755 --- a/reactos/lib/kernel32/include/kernel32.h +++ b/reactos/lib/kernel32/include/kernel32.h @@ -23,10 +23,20 @@ #define FIELD_OFFSET(type,fld) ((LONG)&(((type *)0)->fld)) #endif +#define IsConsoleHandle(h) \ + (((((ULONG)h) & 0x10000003) == 0x3) ? TRUE : FALSE) + +#define HANDLE_DETACHED_PROCESS (HANDLE)-2 +#define HANDLE_CREATE_NEW_CONSOLE (HANDLE)-3 +#define HANDLE_CREATE_NO_WINDOW (HANDLE)-4 + +/* Undocumented CreateProcess flag */ +#define STARTF_SHELLPRIVATE 0x400 + #define SetLastErrorByStatus(__S__) \ ((void)SetLastError(RtlNtStatusToDosError(__S__))) -typedef +typedef DWORD (*WaitForInputIdleType)( HANDLE hProcess, @@ -47,8 +57,6 @@ extern LPTOP_LEVEL_EXCEPTION_FILTER GlobalTopLevelExceptionFilter; /* FUNCTION PROTOTYPES *******************************************************/ -BOOL STDCALL IsConsoleHandle(HANDLE Handle); - BOOL STDCALL VerifyConsoleIoHandle(HANDLE Handle); BOOL STDCALL CloseConsoleHandle(HANDLE Handle); @@ -60,15 +68,99 @@ HANDLE STDCALL OpenConsoleW (LPWSTR wsName, PTEB GetTeb(VOID); - PWCHAR FilenameA2W(LPCSTR NameA, BOOL alloc); - + DWORD FilenameW2A_FitOrFail(LPSTR DestA, INT destLen, LPCWSTR SourceW, INT sourceLen); DWORD FilenameU2A_FitOrFail(LPSTR DestA, INT destLen, PUNICODE_STRING SourceU); - - - +#define HeapAlloc RtlAllocateHeap +#define HeapFree RtlFreeHeap + +POBJECT_ATTRIBUTES +STDCALL +BasepConvertObjectAttributes(OUT POBJECT_ATTRIBUTES ObjectAttributes, + IN PSECURITY_ATTRIBUTES SecurityAttributes OPTIONAL, + IN PUNICODE_STRING ObjectName); + +NTSTATUS +STDCALL +BasepCreateStack(HANDLE hProcess, + ULONG StackReserve, + ULONG StackCommit, + PINITIAL_TEB InitialTeb); + +VOID +STDCALL +BasepInitializeContext(IN PCONTEXT Context, + IN PVOID Parameter, + IN PVOID StartAddress, + IN PVOID StackAddress, + IN ULONG ContextType); + +VOID +STDCALL +BaseThreadStartupThunk(); + +VOID +STDCALL +BaseProcessStartThunk(); + +__declspec(noreturn) +VOID +STDCALL +BaseThreadStartup(LPTHREAD_START_ROUTINE lpStartAddress, + LPVOID lpParameter); + +VOID +STDCALL +BasepFreeStack(HANDLE hProcess, + PINITIAL_TEB InitialTeb); + +__declspec(noreturn) +VOID +WINAPI +BaseFiberStartup(VOID); + +typedef UINT (STDCALL *PPROCESS_START_ROUTINE)(VOID); + +VOID +STDCALL +BaseProcessStartup(PPROCESS_START_ROUTINE lpStartAddress); + +BOOLEAN +STDCALL +BasepCheckRealTimePrivilege(VOID); + +VOID +STDCALL +BasepAnsiStringToHeapUnicodeString(IN LPCSTR AnsiString, + OUT LPWSTR* UnicodeString); + +PUNICODE_STRING +STDCALL +Basep8BitStringToCachedUnicodeString(IN LPCSTR String); + +NTSTATUS +STDCALL +Basep8BitStringToLiveUnicodeString(OUT PUNICODE_STRING UnicodeString, + IN LPCSTR String); + +NTSTATUS +STDCALL +Basep8BitStringToHeapUnicodeString(OUT PUNICODE_STRING UnicodeString, + IN LPCSTR String); + +typedef NTSTATUS (STDCALL *PRTL_CONVERT_STRING)(IN PUNICODE_STRING UnicodeString, + IN PANSI_STRING AnsiString, + IN BOOLEAN AllocateMemory); + +extern PRTL_CONVERT_STRING Basep8BitStringToUnicodeString; + +NTSTATUS +STDCALL +BasepMapFile(IN LPCWSTR lpApplicationName, + OUT PHANDLE hSection, + IN PUNICODE_STRING ApplicationName); #endif /* ndef _KERNEL32_INCLUDE_KERNEL32_H */