Source code of Windows XP (NT5)
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.
|
|
/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
vrdlctab.h
Abstract:
Contains structures which are shared between the VDM code and the DOS redir code. Separated from VDMREDIR.H
Author:
Richard L Firth (rfirth) 13-May-1992
Revision History:
--*/
//
// manifests
//
#define DOS_DLC_STATUS_PERM_SLOTS 10
#define DOS_DLC_STATUS_TEMP_SLOTS 5
#define DOS_DLC_MAX_ADAPTERS 2
//
// EXTENDED_STATUS_PARMS - there is one of these per adapter
//
/* XLATOFF */ #pragma pack(1)
/* XLATON */
typedef struct _EXTENDED_STATUS_PARMS { /* */ BYTE cbSize; BYTE cbPageFrameSize; WORD wAdapterType; WORD wCurrentFrameSize; WORD wMaxFrameSize; } EXTENDED_STATUS_PARMS;
typedef EXTENDED_STATUS_PARMS UNALIGNED * PEXTENDED_STATUS_PARMS;
//
// DOS_DLC_STATUS - there is one of these for each of the permanent and temporary
// connections
//
typedef struct _DOS_DLC_STATUS { /* */ WORD usStationId; WORD usDlcStatusCode; BYTE uchFrmrData[5]; BYTE uchAccessPriority; BYTE uchRemoteNodeAddress[6]; BYTE uchRemoteSap; BYTE auchReserved[3]; } DOS_DLC_STATUS;
typedef DOS_DLC_STATUS UNALIGNED * PDOS_DLC_STATUS;
//
// ADAPTER_STATUS_PARMS - In real DOS workstation, this is maintained by the
// adapter software, but is made available to applications through DIR.STATUS.
// Token Ring and Ethernet adapter have different adapter status parameters
//
// Note: some fields prefixed by Tr or Eth because the x86 assembler
// can't handle the same field name in different structures
//
typedef struct _TOKEN_RING_ADAPTER_STATUS_PARMS { /* */ DWORD PhysicalAddress; BYTE UpstreamNodeAddress[6]; DWORD UpstreamPhysicalAddress; BYTE LastPollAddress[6]; WORD AuthorizedEnvironment; WORD TransmitAccessPriority; WORD SourceClassAuthorization; WORD LastAttentionCode; BYTE TrLastSourceAddress[6]; WORD LastBeaconType; WORD TrLastMajorVector; WORD TrNetworkStatus; WORD SoftError; WORD FrontEndErrorCount; WORD LocalRingNumber; WORD MonitorErrorCode; WORD BeaconTransmitType; WORD BeaconReceiveType; WORD TrFrameCorrelation; BYTE BeaconingNaun[6]; DWORD Reserved; DWORD BeaconingPhysicalAddress; } TOKEN_RING_ADAPTER_STATUS_PARMS;
typedef TOKEN_RING_ADAPTER_STATUS_PARMS UNALIGNED * PTOKEN_RING_ADAPTER_STATUS_PARMS;
typedef struct _ETHERNET_ADAPTER_STATUS_PARMS { /* */ BYTE Reserved1[28]; BYTE EthLastSourceAddress[6]; BYTE Reserved2[2]; WORD EthLastMajorVector; WORD EthNetworkStatus; WORD ErrorReportTimerValue; WORD ErrorReportTimerTickCounter; WORD LocalBusNumber; BYTE Reserved3[6]; WORD EthFrameCorrelation; BYTE Reserved4[6]; WORD NetworkUtilizationSamples; WORD NetworkBusySamples; BYTE Reserved5[4]; } ETHERNET_ADAPTER_STATUS_PARMS;
typedef ETHERNET_ADAPTER_STATUS_PARMS UNALIGNED * PETHERNET_ADAPTER_STATUS_PARMS;
typedef union _ADAPTER_STATUS_PARMS { /* */ TOKEN_RING_ADAPTER_STATUS_PARMS TokenRing; ETHERNET_ADAPTER_STATUS_PARMS Ethernet; } ADAPTER_STATUS_PARMS;
typedef ADAPTER_STATUS_PARMS UNALIGNED * PADAPTER_STATUS_PARMS;
//
// VDM_REDIR_DOS_WINDOW - this structure is used by the MVDM DLC code to return
// information to the DOS DLC program via the redir. This is used mainly in
// asynchronous call-backs (aka ANRs, post-routines or DLC appendages). We let
// the redir code know if there is an ANR by setting dwPostRoutine
//
typedef struct _VDM_REDIR_DOS_WINDOW { /* */ DWORD dwPostRoutine; DWORD dwDlcTimerTick; EXTENDED_STATUS_PARMS aExtendedStatus[DOS_DLC_MAX_ADAPTERS]; ADAPTER_STATUS_PARMS AdapterStatusParms[DOS_DLC_MAX_ADAPTERS]; DOS_DLC_STATUS aStatusTables[(DOS_DLC_STATUS_TEMP_SLOTS + DOS_DLC_STATUS_PERM_SLOTS)]; } VDM_REDIR_DOS_WINDOW;
typedef VDM_REDIR_DOS_WINDOW UNALIGNED * LPVDM_REDIR_DOS_WINDOW;
/* XLATOFF */ #pragma pack()
/* XLATON */
|