reactos/subsystems/win/basesrv/basesrv.h
Pierre Schweitzer 0a392b188a
[BASESRV] Rewrite DOS devices management
This will notably bring support for DOS mapping with LUID devices
(not yet supported in the kernel, though).
This also reduces complexity (and thus memory usage) with the "history"
thing. Multiple targets are stored in the link target as MULTI_SZ string.

This fixes regressions introduced with kernel32 fixes/rewrites.
2019-05-08 18:34:28 +02:00

75 lines
2.3 KiB
C

/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Base API Server DLL
* FILE: subsystems/win/basesrv/basesrv.h
* PURPOSE: Main header - Definitions
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
#ifndef __BASESRV_H__
#define __BASESRV_H__
/* PSDK/NDK Headers */
#include <stdio.h>
#define WIN32_NO_STATUS
#define _INC_WINDOWS
#define COM_NO_WINDOWS_H
#include <windef.h>
#include <winbase.h>
#define NTOS_MODE_USER
#include <ndk/rtlfuncs.h>
#include <ndk/obfuncs.h>
#include <ndk/psfuncs.h>
#include <ndk/exfuncs.h>
#include <ndk/umfuncs.h>
#include <ndk/cmfuncs.h>
#include <ndk/sefuncs.h>
/* PSEH for SEH Support */
#include <pseh/pseh2.h>
/* CSRSS Header */
#include <csr/csrsrv.h>
/* BASE Headers */
#include <win/basemsg.h>
#include <win/base.h>
typedef struct _BASESRV_KERNEL_IMPORTS
{
PCHAR FunctionName;
PVOID* FunctionPointer;
} BASESRV_KERNEL_IMPORTS, *PBASESRV_KERNEL_IMPORTS;
/* FIXME: BASENLS.H */
typedef NTSTATUS (WINAPI *POPEN_DATA_FILE)(HANDLE hFile,
PWCHAR FileName);
typedef BOOL (WINAPI *PGET_CP_FILE_NAME_FROM_REGISTRY)(UINT CodePage,
LPWSTR FileName,
ULONG FileNameSize);
typedef BOOL (WINAPI *PGET_NLS_SECTION_NAME)(UINT CodePage,
UINT Base,
ULONG Unknown,
LPWSTR BaseName,
LPWSTR Result,
ULONG ResultSize);
typedef BOOL (WINAPI *PVALIDATE_LOCALE)(IN ULONG LocaleId);
typedef NTSTATUS (WINAPI *PCREATE_NLS_SECURTY_DESCRIPTOR)(IN PVOID Buffer,
IN ULONG BufferSize,
IN ULONG AceType);
/* Globals */
extern HANDLE BaseSrvHeap;
extern HANDLE BaseSrvSharedHeap;
extern PBASE_STATIC_SERVER_DATA BaseStaticServerData;
extern ULONG SessionId;
extern ULONG ProtectionMode;
#define SM_REG_KEY \
L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Session Manager"
#endif /* __BASESRV_H__ */