Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

177 lines
5.1 KiB

/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
base.h
Abstract:
This include file defines the type and constant definitions that are
shared by the client and server portions of the BASE portion of the
Windows subsystem.
Author:
Steve Wood (stevewo) 25-Oct-1990
Revision History:
--*/
#ifndef RC_INVOKED
#include <nt.h>
#include <ntrtl.h>
#include <nturtl.h>
#endif
#include <windows.h>
#include <winbasep.h>
#include <string.h>
#include <stdarg.h>
//
// Define debugging flag as false if not defined already.
//
#ifndef DBG
#define DBG 0
#endif
//
// Define IF_DEBUG macro that can be used to enable debugging code that is
// optimized out if the debugging flag is false.
//
#if DBG
#define IF_DEBUG if (TRUE)
#else
#define IF_DEBUG if (FALSE)
#endif
//
// Include Windows Subsystem common definitions
//
#include <winss.h>
//
// Include definitions for the runtime DLL shared between the client and
// server portions of the Base portion of the Windows subsystem
//
#define WIN32_SS_PIPE_FORMAT_STRING "\\Device\\NamedPipe\\Win32Pipes.%08x.%08x"
//
// These structures are kept in the global shared memory section created
// in the server and mapped readonly into each client address space when
// they connect to the server.
//
typedef struct _INIFILE_MAPPING_TARGET {
struct _INIFILE_MAPPING_TARGET *Next;
UNICODE_STRING RegistryPath;
} INIFILE_MAPPING_TARGET, *PINIFILE_MAPPING_TARGET;
typedef struct _INIFILE_MAPPING_VARNAME {
struct _INIFILE_MAPPING_VARNAME *Next;
UNICODE_STRING Name;
ULONG MappingFlags;
PINIFILE_MAPPING_TARGET MappingTarget;
} INIFILE_MAPPING_VARNAME, *PINIFILE_MAPPING_VARNAME;
#define INIFILE_MAPPING_WRITE_TO_INIFILE_TOO 0x00000001
#define INIFILE_MAPPING_INIT_FROM_INIFILE 0x00000002
#define INIFILE_MAPPING_READ_FROM_REGISTRY_ONLY 0x00000004
#define INIFILE_MAPPING_APPEND_BASE_NAME 0x10000000
#define INIFILE_MAPPING_APPEND_APPLICATION_NAME 0x20000000
#define INIFILE_MAPPING_SOFTWARE_RELATIVE 0x40000000
#define INIFILE_MAPPING_USER_RELATIVE 0x80000000
typedef struct _INIFILE_MAPPING_APPNAME {
struct _INIFILE_MAPPING_APPNAME *Next;
UNICODE_STRING Name;
PINIFILE_MAPPING_VARNAME VariableNames;
PINIFILE_MAPPING_VARNAME DefaultVarNameMapping;
} INIFILE_MAPPING_APPNAME, *PINIFILE_MAPPING_APPNAME;
typedef struct _INIFILE_MAPPING_FILENAME {
struct _INIFILE_MAPPING_FILENAME *Next;
UNICODE_STRING Name;
PINIFILE_MAPPING_APPNAME ApplicationNames;
PINIFILE_MAPPING_APPNAME DefaultAppNameMapping;
} INIFILE_MAPPING_FILENAME, *PINIFILE_MAPPING_FILENAME;
typedef struct _INIFILE_MAPPING {
PINIFILE_MAPPING_FILENAME FileNames;
PINIFILE_MAPPING_FILENAME DefaultFileNameMapping;
PINIFILE_MAPPING_FILENAME WinIniFileMapping;
ULONG Reserved;
} INIFILE_MAPPING, *PINIFILE_MAPPING;
//
// NLS Information.
//
#define NLS_INVALID_INFO_CHAR 0xffff /* marks cache string as invalid */
#define MAX_REG_VAL_SIZE 80 /* max size of registry value */
typedef struct _NLS_USER_INFO {
WCHAR sAbbrevLangName[MAX_REG_VAL_SIZE];
WCHAR iCountry[MAX_REG_VAL_SIZE];
WCHAR sCountry[MAX_REG_VAL_SIZE];
WCHAR sList[MAX_REG_VAL_SIZE];
WCHAR iMeasure[MAX_REG_VAL_SIZE];
WCHAR sDecimal[MAX_REG_VAL_SIZE];
WCHAR sThousand[MAX_REG_VAL_SIZE];
WCHAR sGrouping[MAX_REG_VAL_SIZE];
WCHAR iDigits[MAX_REG_VAL_SIZE];
WCHAR iLZero[MAX_REG_VAL_SIZE];
WCHAR iNegNumber[MAX_REG_VAL_SIZE];
WCHAR sCurrency[MAX_REG_VAL_SIZE];
WCHAR sMonDecSep[MAX_REG_VAL_SIZE];
WCHAR sMonThouSep[MAX_REG_VAL_SIZE];
WCHAR sMonGrouping[MAX_REG_VAL_SIZE];
WCHAR iCurrDigits[MAX_REG_VAL_SIZE];
WCHAR iCurrency[MAX_REG_VAL_SIZE];
WCHAR iNegCurr[MAX_REG_VAL_SIZE];
WCHAR sPosSign[MAX_REG_VAL_SIZE];
WCHAR sNegSign[MAX_REG_VAL_SIZE];
WCHAR sTimeFormat[MAX_REG_VAL_SIZE];
WCHAR sTime[MAX_REG_VAL_SIZE];
WCHAR iTime[MAX_REG_VAL_SIZE];
WCHAR iTLZero[MAX_REG_VAL_SIZE];
WCHAR iTimeMarkPosn[MAX_REG_VAL_SIZE];
WCHAR s1159[MAX_REG_VAL_SIZE];
WCHAR s2359[MAX_REG_VAL_SIZE];
WCHAR sShortDate[MAX_REG_VAL_SIZE];
WCHAR sDate[MAX_REG_VAL_SIZE];
WCHAR iDate[MAX_REG_VAL_SIZE];
WCHAR sLongDate[MAX_REG_VAL_SIZE];
WCHAR iCalType[MAX_REG_VAL_SIZE];
WCHAR iFirstDay[MAX_REG_VAL_SIZE];
WCHAR iFirstWeek[MAX_REG_VAL_SIZE];
WCHAR sLocale[MAX_REG_VAL_SIZE];
LCID UserLocaleId;
BOOL fCacheValid;
} NLS_USER_INFO, *PNLS_USER_INFO;
typedef struct _BASE_STATIC_SERVER_DATA {
UNICODE_STRING WindowsDirectory;
UNICODE_STRING WindowsSystemDirectory;
UNICODE_STRING NamedObjectDirectory;
USHORT WindowsMajorVersion;
USHORT WindowsMinorVersion;
USHORT BuildNumber;
WCHAR CSDVersion[ 128 ];
SYSTEM_BASIC_INFORMATION SysInfo;
SYSTEM_TIMEOFDAY_INFORMATION TimeOfDay;
PINIFILE_MAPPING IniFileMapping;
NLS_USER_INFO NlsUserInfo;
BOOLEAN DefaultSeparateVDM;
BOOLEAN Wx86Enabled;
} BASE_STATIC_SERVER_DATA, *PBASE_STATIC_SERVER_DATA;