[KERNEL32]
[reactos.git] / 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 /* 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
26 /* PSEH for SEH Support */
27 #include <pseh/pseh2.h>
28
29 /* CSRSS Header */
30 #include <csr/csrsrv.h>
31
32 /* BASE Headers */
33 #include <win/basemsg.h>
34 #include <win/base.h>
35
36 typedef struct _BASESRV_KERNEL_IMPORTS
37 {
38 PCHAR FunctionName;
39 PVOID* FunctionPointer;
40 } BASESRV_KERNEL_IMPORTS, *PBASESRV_KERNEL_IMPORTS;
41
42 /* FIXME: BASENLS.H */
43 typedef NTSTATUS(WINAPI *POPEN_DATA_FILE)(HANDLE hFile,
44 PWCHAR FileName);
45
46 typedef BOOL(WINAPI *PGET_CP_FILE_NAME_FROM_REGISTRY)(UINT CodePage,
47 LPWSTR FileName,
48 ULONG FileNameSize);
49
50 typedef BOOL(WINAPI *PGET_NLS_SECTION_NAME)(UINT CodePage,
51 UINT Base,
52 ULONG Unknown,
53 LPWSTR BaseName,
54 LPWSTR Result,
55 ULONG ResultSize);
56
57 typedef BOOL(WINAPI *PVALIDATE_LOCALE)(IN ULONG LocaleId);
58 typedef NTSTATUS(WINAPI *PCREATE_NLS_SECURTY_DESCRIPTOR)(IN PVOID Buffer,
59 IN ULONG BufferSize,
60 IN ULONG AceType);
61
62 /* Globals */
63 extern HANDLE BaseSrvHeap;
64 extern HANDLE BaseSrvSharedHeap;
65 extern PBASE_STATIC_SERVER_DATA BaseStaticServerData;
66
67 #endif /* __BASESRV_H__ */