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 #include <dbt.h> 20 #define NTOS_MODE_USER 21 #include <ndk/rtlfuncs.h> 22 #include <ndk/obfuncs.h> 23 #include <ndk/psfuncs.h> 24 #include <ndk/exfuncs.h> 25 #include <ndk/umfuncs.h> 26 #include <ndk/cmfuncs.h> 27 #include <ndk/sefuncs.h> 28 29 /* PSEH for SEH Support */ 30 #include <pseh/pseh2.h> 31 32 /* CSRSS Header */ 33 #include <csr/csrsrv.h> 34 35 /* BASE Headers */ 36 #include <win/basemsg.h> 37 #include <win/base.h> 38 39 typedef struct _BASESRV_KERNEL_IMPORTS 40 { 41 PCHAR FunctionName; 42 PVOID* FunctionPointer; 43 } BASESRV_KERNEL_IMPORTS, *PBASESRV_KERNEL_IMPORTS; 44 45 /* FIXME: BASENLS.H */ 46 typedef NTSTATUS (WINAPI *POPEN_DATA_FILE)(HANDLE hFile, 47 PWCHAR FileName); 48 49 typedef BOOL (WINAPI *PGET_CP_FILE_NAME_FROM_REGISTRY)(UINT CodePage, 50 LPWSTR FileName, 51 ULONG FileNameSize); 52 53 typedef BOOL (WINAPI *PGET_NLS_SECTION_NAME)(UINT CodePage, 54 UINT Base, 55 ULONG Unknown, 56 LPWSTR BaseName, 57 LPWSTR Result, 58 ULONG ResultSize); 59 60 typedef BOOL (WINAPI *PVALIDATE_LOCALE)(IN ULONG LocaleId); 61 62 /* Globals */ 63 extern HANDLE BaseSrvHeap; 64 extern HANDLE BaseSrvSharedHeap; 65 extern PBASE_STATIC_SERVER_DATA BaseStaticServerData; 66 extern ULONG SessionId; 67 extern ULONG ProtectionMode; 68 extern RTL_CRITICAL_SECTION BaseSrvDDDBSMCritSec; 69 70 #define SM_REG_KEY \ 71 L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Session Manager" 72 73 #endif /* __BASESRV_H__ */ 74