xref: /reactos/subsystems/win/basesrv/basesrv.h (revision b4af5597)
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