[CSRSRV]
[reactos.git] / reactos / subsystems / win32 / csrsrv / srv.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Client/Server Runtime SubSystem
4 * FILE: subsystems/win32/csrsrv/srv.h
5 * PURPOSE: Main header - Definitions
6 * PROGRAMMERS: Alex Ionescu (alex@relsoft.net)
7 * ReactOS Portable Systems Group
8 */
9
10 #ifndef _SRV_H
11 #define _SRV_H
12
13 /* PSDK/NDK Headers */
14 #include <stdio.h>
15 #define WIN32_NO_STATUS
16 #include <windef.h>
17 #include <winbase.h>
18 #include <winreg.h>
19 #include <winuser.h> // For EWX_FORCE
20 #define NTOS_MODE_USER
21 #include <ndk/setypes.h>
22 #include <ndk/sefuncs.h>
23 #include <ndk/exfuncs.h>
24 #include <ndk/cmfuncs.h>
25 #include <ndk/obfuncs.h>
26 #include <ndk/lpcfuncs.h>
27 #include <ndk/kefuncs.h>
28 //#include <ndk/dbgktypes.h>
29 #include <ndk/mmfuncs.h>
30 #include <ndk/umfuncs.h>
31
32 /* CSR Header */
33 #include <csr/csrsrv.h>
34
35 /* PSEH for SEH Support */
36 #include <pseh/pseh2.h>
37
38 /* Subsystem Manager Header */
39 #include <sm/helper.h>
40 #include <sm/smmsg.h>
41
42 /* Internal CSRSS Header */
43 #include "api.h"
44
45 /* Defines */
46 #define SM_REG_KEY \
47 L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Session Manager"
48
49 #define SESSION_ROOT L"\\Sessions"
50 #define GLOBAL_ROOT L"\\GLOBAL??"
51 #define SYMLINK_NAME L"SymbolicLink"
52 #define SB_PORT_NAME L"SbAbiPort"
53 #define CSR_PORT_NAME L"ApiPort"
54 #define UNICODE_PATH_SEP L"\\"
55
56 #define ROUND_UP(n, align) ROUND_DOWN(((ULONG)n) + (align) - 1, (align))
57 #define ROUND_DOWN(n, align) (((ULONG)n) & ~((align) - 1l))
58 #define InterlockedIncrementUL(Value) _InterlockedIncrement((PLONG)Value)
59 #define InterlockedDecrementUL(Value) _InterlockedDecrement((PLONG)Value)
60
61 #endif // _SRV_H
62
63 /* EOF */