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.

146 lines
4.0 KiB

  1. /*++
  2. Copyright (c) 1991 Microsoft Corporation
  3. Module Name:
  4. vrdlctab.h
  5. Abstract:
  6. Contains structures which are shared between the VDM code and the DOS
  7. redir code. Separated from VDMREDIR.H
  8. Author:
  9. Richard L Firth (rfirth) 13-May-1992
  10. Revision History:
  11. --*/
  12. //
  13. // manifests
  14. //
  15. #define DOS_DLC_STATUS_PERM_SLOTS 10
  16. #define DOS_DLC_STATUS_TEMP_SLOTS 5
  17. #define DOS_DLC_MAX_ADAPTERS 2
  18. //
  19. // EXTENDED_STATUS_PARMS - there is one of these per adapter
  20. //
  21. /* XLATOFF */
  22. #pragma pack(1)
  23. /* XLATON */
  24. typedef struct _EXTENDED_STATUS_PARMS { /* */
  25. BYTE cbSize;
  26. BYTE cbPageFrameSize;
  27. WORD wAdapterType;
  28. WORD wCurrentFrameSize;
  29. WORD wMaxFrameSize;
  30. } EXTENDED_STATUS_PARMS;
  31. typedef EXTENDED_STATUS_PARMS UNALIGNED * PEXTENDED_STATUS_PARMS;
  32. //
  33. // DOS_DLC_STATUS - there is one of these for each of the permanent and temporary
  34. // connections
  35. //
  36. typedef struct _DOS_DLC_STATUS { /* */
  37. WORD usStationId;
  38. WORD usDlcStatusCode;
  39. BYTE uchFrmrData[5];
  40. BYTE uchAccessPriority;
  41. BYTE uchRemoteNodeAddress[6];
  42. BYTE uchRemoteSap;
  43. BYTE auchReserved[3];
  44. } DOS_DLC_STATUS;
  45. typedef DOS_DLC_STATUS UNALIGNED * PDOS_DLC_STATUS;
  46. //
  47. // ADAPTER_STATUS_PARMS - In real DOS workstation, this is maintained by the
  48. // adapter software, but is made available to applications through DIR.STATUS.
  49. // Token Ring and Ethernet adapter have different adapter status parameters
  50. //
  51. // Note: some fields prefixed by Tr or Eth because the x86 assembler
  52. // can't handle the same field name in different structures
  53. //
  54. typedef struct _TOKEN_RING_ADAPTER_STATUS_PARMS { /* */
  55. DWORD PhysicalAddress;
  56. BYTE UpstreamNodeAddress[6];
  57. DWORD UpstreamPhysicalAddress;
  58. BYTE LastPollAddress[6];
  59. WORD AuthorizedEnvironment;
  60. WORD TransmitAccessPriority;
  61. WORD SourceClassAuthorization;
  62. WORD LastAttentionCode;
  63. BYTE TrLastSourceAddress[6];
  64. WORD LastBeaconType;
  65. WORD TrLastMajorVector;
  66. WORD TrNetworkStatus;
  67. WORD SoftError;
  68. WORD FrontEndErrorCount;
  69. WORD LocalRingNumber;
  70. WORD MonitorErrorCode;
  71. WORD BeaconTransmitType;
  72. WORD BeaconReceiveType;
  73. WORD TrFrameCorrelation;
  74. BYTE BeaconingNaun[6];
  75. DWORD Reserved;
  76. DWORD BeaconingPhysicalAddress;
  77. } TOKEN_RING_ADAPTER_STATUS_PARMS;
  78. typedef TOKEN_RING_ADAPTER_STATUS_PARMS UNALIGNED * PTOKEN_RING_ADAPTER_STATUS_PARMS;
  79. typedef struct _ETHERNET_ADAPTER_STATUS_PARMS { /* */
  80. BYTE Reserved1[28];
  81. BYTE EthLastSourceAddress[6];
  82. BYTE Reserved2[2];
  83. WORD EthLastMajorVector;
  84. WORD EthNetworkStatus;
  85. WORD ErrorReportTimerValue;
  86. WORD ErrorReportTimerTickCounter;
  87. WORD LocalBusNumber;
  88. BYTE Reserved3[6];
  89. WORD EthFrameCorrelation;
  90. BYTE Reserved4[6];
  91. WORD NetworkUtilizationSamples;
  92. WORD NetworkBusySamples;
  93. BYTE Reserved5[4];
  94. } ETHERNET_ADAPTER_STATUS_PARMS;
  95. typedef ETHERNET_ADAPTER_STATUS_PARMS UNALIGNED * PETHERNET_ADAPTER_STATUS_PARMS;
  96. typedef union _ADAPTER_STATUS_PARMS { /* */
  97. TOKEN_RING_ADAPTER_STATUS_PARMS TokenRing;
  98. ETHERNET_ADAPTER_STATUS_PARMS Ethernet;
  99. } ADAPTER_STATUS_PARMS;
  100. typedef ADAPTER_STATUS_PARMS UNALIGNED * PADAPTER_STATUS_PARMS;
  101. //
  102. // VDM_REDIR_DOS_WINDOW - this structure is used by the MVDM DLC code to return
  103. // information to the DOS DLC program via the redir. This is used mainly in
  104. // asynchronous call-backs (aka ANRs, post-routines or DLC appendages). We let
  105. // the redir code know if there is an ANR by setting dwPostRoutine
  106. //
  107. typedef struct _VDM_REDIR_DOS_WINDOW { /* */
  108. DWORD dwPostRoutine;
  109. DWORD dwDlcTimerTick;
  110. EXTENDED_STATUS_PARMS aExtendedStatus[DOS_DLC_MAX_ADAPTERS];
  111. ADAPTER_STATUS_PARMS AdapterStatusParms[DOS_DLC_MAX_ADAPTERS];
  112. DOS_DLC_STATUS aStatusTables[(DOS_DLC_STATUS_TEMP_SLOTS + DOS_DLC_STATUS_PERM_SLOTS)];
  113. } VDM_REDIR_DOS_WINDOW;
  114. typedef VDM_REDIR_DOS_WINDOW UNALIGNED * LPVDM_REDIR_DOS_WINDOW;
  115. /* XLATOFF */
  116. #pragma pack()
  117. /* XLATON */