1 /* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS Base API Server DLL 4 * FILE: subsystems/win/basesrv/basesrv.h 5 * PURPOSE: Main header - Definitions 6 * PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr) 7 */ 8 9 #ifndef __BASESRV_H__ 10 #define __BASESRV_H__ 11 12 /* PSDK/NDK Headers */ 13 #include <stdio.h> 14 #define WIN32_NO_STATUS 15 #define _INC_WINDOWS 16 #define COM_NO_WINDOWS_H 17 #include <windef.h> 18 #include <winbase.h> 19 #define NTOS_MODE_USER 20 #include <ndk/rtlfuncs.h> 21 #include <ndk/obfuncs.h> 22 #include <ndk/psfuncs.h> 23 #include <ndk/exfuncs.h> 24 #include <ndk/umfuncs.h> 25 #include <ndk/cmfuncs.h> 26 #include <ndk/sefuncs.h> 27 28 /* PSEH for SEH Support */ 29 #include <pseh/pseh2.h> 30 31 /* CSRSS Header */ 32 #include <csr/csrsrv.h> 33 34 /* BASE Headers */ 35 #include <win/basemsg.h> 36 #include <win/base.h> 37 38 typedef struct _BASESRV_KERNEL_IMPORTS 39 { 40 PCHAR FunctionName; 41 PVOID* FunctionPointer; 42 } BASESRV_KERNEL_IMPORTS, *PBASESRV_KERNEL_IMPORTS; 43 44 /* FIXME: BASENLS.H */ 45 typedef NTSTATUS (WINAPI *POPEN_DATA_FILE)(HANDLE hFile, 46 PWCHAR FileName); 47 48 typedef BOOL (WINAPI *PGET_CP_FILE_NAME_FROM_REGISTRY)(UINT CodePage, 49 LPWSTR FileName, 50 ULONG FileNameSize); 51 52 typedef BOOL (WINAPI *PGET_NLS_SECTION_NAME)(UINT CodePage, 53 UINT Base, 54 ULONG Unknown, 55 LPWSTR BaseName, 56 LPWSTR Result, 57 ULONG ResultSize); 58 59 typedef BOOL (WINAPI *PVALIDATE_LOCALE)(IN ULONG LocaleId); 60 typedef NTSTATUS (WINAPI *PCREATE_NLS_SECURTY_DESCRIPTOR)(IN PVOID Buffer, 61 IN ULONG BufferSize, 62 IN ULONG AceType); 63 64 /* Globals */ 65 extern HANDLE BaseSrvHeap; 66 extern HANDLE BaseSrvSharedHeap; 67 extern PBASE_STATIC_SERVER_DATA BaseStaticServerData; 68 extern ULONG SessionId; 69 extern ULONG ProtectionMode; 70 71 #define SM_REG_KEY \ 72 L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Session Manager" 73 74 #endif /* __BASESRV_H__ */ 75