mirror of https://github.com/lianthony/NT4.0
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.
180 lines
5.4 KiB
180 lines
5.4 KiB
/*++
|
|
|
|
Copyright (c) 1990 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
sesgrp.h
|
|
|
|
Abstract:
|
|
|
|
This module defines the OS/2 subsystem memory view of Session-Group
|
|
|
|
Author:
|
|
|
|
Michael Jarus (mjarus) 20-Nov-1991
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
|
|
/*
|
|
* This file defines the SesGrp : a section, which holds all common
|
|
* parameters for the entire session (SES_GROUP).
|
|
*
|
|
* It's initilized to zero by the os2srv (which also init the NLS and
|
|
* some other parameters).
|
|
*
|
|
* Parameters can be put into SesGrp in os2ses/client only after it
|
|
* gets the section from the os2srv (after ntinitss.CtrlListen is called).
|
|
*/
|
|
|
|
typedef struct _OS2_SES_GROUP_PARMS
|
|
{
|
|
USHORT FirstProcess;
|
|
ULONG InTermination;
|
|
|
|
HANDLE LockProcess;
|
|
ULONG PrinterMonitor;
|
|
ULONG OutputModeFlags; // Console Output Mode
|
|
ULONG DefaultWinOutputMode; // Default Win Console Input Mode
|
|
ULONG WinProcessNumberInSession;
|
|
ULONG WinSyncProcessNumberInSession;
|
|
|
|
/*
|
|
* handles (and flags) for in/out/Std,
|
|
*/
|
|
|
|
HANDLE hConsoleInput;
|
|
HANDLE hConsoleOutput;
|
|
HANDLE StdIn;
|
|
HANDLE StdOut;
|
|
HANDLE StdErr;
|
|
USHORT StdInFlag; // TRUE if console (not redirected)
|
|
USHORT StdOutFlag;
|
|
USHORT StdErrFlag;
|
|
USHORT StdInFileType; // FileType for HandleTable
|
|
USHORT StdOutFileType;
|
|
USHORT StdErrFileType;
|
|
USHORT StdInHandleCount; // Count of open handle
|
|
USHORT StdOutHandleCount;
|
|
USHORT StdErrHandleCount;
|
|
|
|
/*
|
|
* VIO Parameters
|
|
*/
|
|
|
|
ULONG PauseScreenUpdate;
|
|
USHORT BytesPerCell;
|
|
USHORT VioLengthMask;
|
|
WCHAR WinSpaceChar;
|
|
WCHAR WinBlankChar;
|
|
VIOMODEINFO Os2ModeInfo;
|
|
SHORT MinRowNum;
|
|
SMALL_RECT ScreenRect; // Screen Rect for WriteConsoleOutput
|
|
VIOCURSORINFO CursorInfo; // Cursor Info
|
|
SHORT ScreenColNum; // col number
|
|
SHORT ScreenRowNum; // row number
|
|
ULONG ScreenSize; // screen size in bytes
|
|
SHORT CellHSize; // Horizontal Cell size
|
|
SHORT CellVSize; // Vertical Cell size
|
|
USHORT VioLength2CellShift;
|
|
ULONG dwWinCursorSize;
|
|
BOOLEAN bWinCursorVisible;
|
|
|
|
/*
|
|
* TTY Parameters
|
|
*/
|
|
|
|
ULONG AnsiMode; // state of AnsiFlag
|
|
UCHAR AnsiCellAttr[3]; // attribute of TTY (3 bytes for MSKK)
|
|
UCHAR ansi_base;
|
|
UCHAR ansi_foreground;
|
|
UCHAR ansi_background;
|
|
UCHAR ansi_reverse;
|
|
UCHAR ansi_bold;
|
|
UCHAR ansi_cancel;
|
|
UCHAR ansi_faint;
|
|
UCHAR ansi_italic;
|
|
UCHAR ansi_blink;
|
|
UCHAR ansi_blue;
|
|
COORD WinCoord;
|
|
USHORT WinAttr;
|
|
|
|
/*
|
|
* LVB Parameters
|
|
*/
|
|
|
|
ULONG MaxLVBsize;
|
|
ULONG LVBsize;
|
|
BOOLEAN LVBOn;
|
|
|
|
/*
|
|
* POPUP Parameters
|
|
*/
|
|
|
|
HANDLE hConsolePopUp;
|
|
HANDLE PopUpProcess;
|
|
USHORT PopUpFlag;
|
|
|
|
/*
|
|
* Kbd parameters
|
|
*/
|
|
|
|
ULONG KbdInFocus;
|
|
PVOID PhyKbd;
|
|
ULONG KeysOnFlag;
|
|
ULONG KeyboardCountry;
|
|
ULONG KeyboardType;
|
|
USHORT NoKbdFocus;
|
|
USHORT ModeFlag; // 0 - ASCII, 1 - Binary
|
|
|
|
/*
|
|
* NLS definitions.
|
|
* If you add anything or change the order, do it also in server\srvnls.c
|
|
*/
|
|
|
|
ULONG Os2srvUseRegisterInfo; // set when NLS parms are from the registry
|
|
// reset when they are inherit from Win32
|
|
ULONG Win32CountryCode; // Win32 NLS parms: country code
|
|
ULONG Win32OEMCP; // OEM CP
|
|
ULONG Win32ACP; // ACP
|
|
ULONG Win32LANGID; // LANGID
|
|
ULONG Win32LCID; // LCID
|
|
ULONG CountryCode; // Os2ss NLS parms: country code
|
|
ULONG DosCP; // Dos CP
|
|
ULONG PrimaryCP; // Primary CP
|
|
ULONG SecondaryCP; // Secondary CP
|
|
ULONG VioCP; // Vio CP
|
|
ULONG KbdCP; // Kbd CP
|
|
ULONG Os2ssLCID; // LCID
|
|
ULONG LanguageID; // message file LanguageID
|
|
UCHAR KeyboardLayout[2]; // Keyboard Layout
|
|
#if PMNT
|
|
UCHAR KeyboardName[4]; // Keyboard Name
|
|
#endif // PMNT
|
|
OD2_DBCS_VECTOR_ENTRY PriDBCSVec;
|
|
OD2_DBCS_VECTOR_ENTRY SecDBCSVec;
|
|
UCHAR PriCollateTable[256]; // Primary Collate Table
|
|
UCHAR SecCollateTable[256]; // Secondary Collate Table
|
|
UCHAR PriCaseMapTable[256]; // Primary Case Map Table
|
|
UCHAR SecCaseMapTable[256]; // Secondary Case Map Table
|
|
COUNTRYINFO CountryInfo; // Country Info
|
|
ULONG DBCSCountryFlag; //
|
|
UCHAR SystemDirectory[CCHMAXSYSTEMPATH];
|
|
|
|
/*
|
|
* End of NLS definitions.
|
|
*/
|
|
|
|
} OS2_SES_GROUP_PARMS, *POS2_SES_GROUP_PARMS;
|
|
|
|
/*
|
|
* KeyboardType
|
|
*/
|
|
|
|
#define OS2SS_EN_KBD 0
|
|
#define OS2SS_AT_KBD 1
|
|
#define OS2SS_ENNEW_KBD 2
|
|
|