Leaked source code of windows server 2003
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.

166 lines
3.7 KiB

  1. /*++
  2. Copyright (c) 1997 FORE Systems, Inc.
  3. Copyright (c) 1997 Microsoft Corporation
  4. Module Name:
  5. laneinfo.h
  6. Abstract:
  7. Data structures of state data for the ATM LAN Emulation Driver
  8. that can be queried by a user pgm.
  9. Author:
  10. Larry Cleeton, FORE Systems (v-lcleet@microsoft.com, lrc@fore.com)
  11. Environment:
  12. Kernel mode
  13. Revision History:
  14. --*/
  15. #ifndef __ATMLANE_LANEINFO_H
  16. #define __ATMLANE_LANEINFO_H
  17. #define ATMLANE_INFO_VERSION 1
  18. #define ATMLANE_IOCTL_GET_INFO_VERSION \
  19. CTL_CODE(FILE_DEVICE_NETWORK, 0x100, METHOD_BUFFERED, FILE_ANY_ACCESS)
  20. #define ATMLANE_IOCTL_ENUM_ADAPTERS \
  21. CTL_CODE(FILE_DEVICE_NETWORK, 0x101, METHOD_BUFFERED, FILE_ANY_ACCESS)
  22. #define ATMLANE_IOCTL_ENUM_ELANS \
  23. CTL_CODE(FILE_DEVICE_NETWORK, 0x102, METHOD_BUFFERED, FILE_ANY_ACCESS)
  24. #define ATMLANE_IOCTL_GET_ELAN_INFO \
  25. CTL_CODE(FILE_DEVICE_NETWORK, 0x103, METHOD_BUFFERED, FILE_ANY_ACCESS)
  26. #define ATMLANE_IOCTL_GET_ELAN_ARP_TABLE \
  27. CTL_CODE(FILE_DEVICE_NETWORK, 0x104, METHOD_BUFFERED, FILE_ANY_ACCESS)
  28. #define ATMLANE_IOCTL_GET_ELAN_CONNECT_TABLE \
  29. CTL_CODE(FILE_DEVICE_NETWORK, 0x105, METHOD_BUFFERED, FILE_ANY_ACCESS)
  30. typedef struct _adapterlist
  31. {
  32. ULONG AdapterCountAvailable;
  33. ULONG AdapterCountReturned;
  34. UNICODE_STRING AdapterList;
  35. }
  36. ATMLANE_ADAPTER_LIST,
  37. *PATMLANE_ADAPTER_LIST;
  38. typedef struct _elanlist
  39. {
  40. ULONG ElanCountAvailable;
  41. ULONG ElanCountReturned;
  42. UNICODE_STRING ElanList;
  43. }
  44. ATMLANE_ELAN_LIST,
  45. *PATMLANE_ELAN_LIST;
  46. typedef struct _elaninfo
  47. {
  48. ULONG ElanNumber;
  49. ULONG ElanState;
  50. PUCHAR AtmAddress[20];
  51. PUCHAR LecsAddress[20];
  52. PUCHAR LesAddress[20];
  53. PUCHAR BusAddress[20];
  54. UCHAR LanType;
  55. UCHAR MaxFrameSizeCode;
  56. USHORT LecId;
  57. UCHAR ElanName[32];
  58. PUCHAR MacAddress[6];
  59. ULONG ControlTimeout;
  60. ULONG MaxUnkFrameCount;
  61. ULONG MaxUnkFrameTime;
  62. ULONG VccTimeout;
  63. ULONG MaxRetryCount;
  64. ULONG AgingTime;
  65. ULONG ForwardDelayTime;
  66. ULONG TopologyChange;
  67. ULONG ArpResponseTime;
  68. ULONG FlushTimeout;
  69. ULONG PathSwitchingDelay;
  70. ULONG LocalSegmentId;
  71. ULONG McastSendVcType;
  72. ULONG McastSendVcAvgRate;
  73. ULONG McastSendVcPeakRate;
  74. ULONG ConnComplTimer;
  75. }
  76. ATMLANE_ELANINFO,
  77. *PATMLANE_ELANINFO;
  78. typedef struct _ArpEntry
  79. {
  80. PUCHAR MacAddress[6];
  81. PUCHAR AtmAddress[20];
  82. }
  83. ATMLANE_ARPENTRY,
  84. *PATMLANE_ARPENTRY;
  85. typedef struct _ArpTable
  86. {
  87. ULONG ArpEntriesAvailable;
  88. ULONG ArpEntriesReturned;
  89. }
  90. ATMLANE_ARPTABLE,
  91. *PATMLANE_ARPTABLE;
  92. typedef struct _ConnectEntry
  93. {
  94. PUCHAR AtmAddress[20];
  95. ULONG Type;
  96. ULONG Vc;
  97. ULONG VcIncoming;
  98. }
  99. ATMLANE_CONNECTENTRY,
  100. *PATMLANE_CONNECTENTRY;
  101. typedef struct _ConnectTable
  102. {
  103. ULONG ConnectEntriesAvailable;
  104. ULONG ConnectEntriesReturned;
  105. }
  106. ATMLANE_CONNECTTABLE,
  107. *PATMLANE_CONNECTTABLE;
  108. //
  109. // PnP reconfig struct. This is used to pass indications of
  110. // configuration changes from a user program to the ATMLANE
  111. // protocol. This indication is passed on an Adapter binding,
  112. // and carries the name of the ELAN affected by the configuration
  113. // change.
  114. //
  115. typedef struct atmlane_pnp_reconfig_request
  116. {
  117. ULONG Version; // ATMLANE_RECONFIG_VERSION
  118. ULONG OpType; // Defined below.
  119. ULONG ElanKeyLength; // Number of WCHARs following.
  120. WCHAR ElanKey[1]; // ELAN Key name under the adapter
  121. } ATMLANE_PNP_RECONFIG_REQUEST, *PATMLANE_PNP_RECONFIG_REQUEST;
  122. //
  123. // Reconfig version number.
  124. //
  125. #define ATMLANE_RECONFIG_VERSION 1
  126. //
  127. // Reconfig op types.
  128. //
  129. #define ATMLANE_RECONFIG_OP_ADD_ELAN 1
  130. #define ATMLANE_RECONFIG_OP_DEL_ELAN 2
  131. #define ATMLANE_RECONFIG_OP_MOD_ELAN 3
  132. #endif // __ATMLANE_LANEINFO_H