4a1b5dcb7bfc213873a5429e11c5df27e1867ee9
[reactos.git] / reactos / subsystems / win / basesrv / basesrv.h
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 #pragma once
13
14 /* PSDK/NDK Headers */
15 #include <stdarg.h>
16 #define WIN32_NO_STATUS
17 #define _INC_WINDOWS
18 #define COM_NO_WINDOWS_H
19 #include <windef.h>
20 #include <winbase.h>
21 #include <winreg.h>
22 #define NTOS_MODE_USER
23 #include <ndk/ntndk.h>
24
25 /* PSEH for SEH Support */
26 #include <pseh/pseh2.h>
27
28 /* CSRSS Header */
29 #include <csr/csrsrv.h>
30
31 /* BASE Headers */
32 #include <win/basemsg.h>
33 #include <win/base.h>
34
35 typedef struct _BASESRV_KERNEL_IMPORTS
36 {
37 PCHAR FunctionName;
38 PVOID* FunctionPointer;
39 } BASESRV_KERNEL_IMPORTS, *PBASESRV_KERNEL_IMPORTS;
40
41 /* FIXME: BASENLS.H */
42 typedef NTSTATUS(WINAPI *POPEN_DATA_FILE)(HANDLE hFile,
43 PWCHAR FileName);
44
45 typedef BOOL(WINAPI *PGET_CP_FILE_NAME_FROM_REGISTRY)(UINT CodePage,
46 LPWSTR FileName,
47 ULONG FileNameSize);
48
49 typedef BOOL(WINAPI *PGET_NLS_SECTION_NAME)(UINT CodePage,
50 UINT Base,
51 ULONG Unknown,
52 LPWSTR BaseName,
53 LPWSTR Result,
54 ULONG ResultSize);
55
56 typedef BOOL(WINAPI *PVALIDATE_LOCALE)(IN ULONG LocaleId);
57 typedef NTSTATUS(WINAPI *PCREATE_NLS_SECURTY_DESCRIPTOR)(IN PVOID Buffer,
58 IN ULONG BufferSize,
59 IN ULONG AceType);
60
61 /* Globals */
62 extern HANDLE BaseSrvHeap;
63 extern HANDLE BaseSrvSharedHeap;
64 extern PBASE_STATIC_SERVER_DATA BaseStaticServerData;
65
66 #endif // __BASESRV_H__
67
68 /* EOF */