| 1 | /** | 
 
 
 
 
 | 2 | * This file has no copyright assigned and is placed in the Public Domain. | 
 
 
 
 
 | 3 | * This file is part of the mingw-w64 runtime package. | 
 
 
 
 
 | 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
 
 
 
 
 | 5 | */ | 
 
 
 
 
 | 6 | #ifndef _DLCAPI_ | 
 
 
 
 
 | 7 | #define _DLCAPI_ | 
 
 
 
 
 | 8 |  | 
 
 
 
 
 | 9 | #ifdef __cplusplus | 
 
 
 
 
 | 10 | extern "C" { | 
 
 
 
 
 | 11 | #endif | 
 
 
 
 
 | 12 |  | 
 
 
 
 
 | 13 | #define LLC_DIR_INTERRUPT 0x00 | 
 
 
 
 
 | 14 | #define LLC_DIR_OPEN_ADAPTER 0x03 | 
 
 
 
 
 | 15 | #define LLC_DIR_CLOSE_ADAPTER 0x04 | 
 
 
 
 
 | 16 | #define LLC_DIR_SET_MULTICAST_ADDRESS 0x05 | 
 
 
 
 
 | 17 | #define LLC_DIR_SET_GROUP_ADDRESS 0x06 | 
 
 
 
 
 | 18 | #define LLC_DIR_SET_FUNCTIONAL_ADDRESS 0x07 | 
 
 
 
 
 | 19 | #define LLC_DIR_READ_LOG 0x08 | 
 
 
 
 
 | 20 | #define LLC_TRANSMIT_FRAMES 0x09 | 
 
 
 
 
 | 21 | #define LLC_TRANSMIT_DIR_FRAME 0x0A | 
 
 
 
 
 | 22 | #define LLC_TRANSMIT_I_FRAME 0x0B | 
 
 
 
 
 | 23 | #define LLC_TRANSMIT_UI_FRAME 0x0D | 
 
 
 
 
 | 24 | #define LLC_TRANSMIT_XID_CMD 0x0E | 
 
 
 
 
 | 25 | #define LLC_TRANSMIT_XID_RESP_FINAL 0x0F | 
 
 
 
 
 | 26 | #define LLC_TRANSMIT_XID_RESP_NOT_FINAL 0x10 | 
 
 
 
 
 | 27 | #define LLC_TRANSMIT_TEST_CMD 0x11 | 
 
 
 
 
 | 28 | #define LLC_DLC_RESET 0x14 | 
 
 
 
 
 | 29 | #define LLC_DLC_OPEN_SAP 0x15 | 
 
 
 
 
 | 30 | #define LLC_DLC_CLOSE_SAP 0x16 | 
 
 
 
 
 | 31 | #define LLC_DLC_REALLOCATE_STATIONS 0x17 | 
 
 
 
 
 | 32 | #define LLC_DLC_OPEN_STATION 0x19 | 
 
 
 
 
 | 33 | #define LLC_DLC_CLOSE_STATION 0x1A | 
 
 
 
 
 | 34 | #define LLC_DLC_CONNECT_STATION 0x1B | 
 
 
 
 
 | 35 | #define LLC_DLC_MODIFY 0x1C | 
 
 
 
 
 | 36 | #define LLC_DLC_FLOW_CONTROL 0x1D | 
 
 
 
 
 | 37 | #define LLC_DLC_STATISTICS 0x1E | 
 
 
 
 
 | 38 | #define LLC_DIR_INITIALIZE 0x20 | 
 
 
 
 
 | 39 | #define LLC_DIR_STATUS 0x21 | 
 
 
 
 
 | 40 | #define LLC_DIR_TIMER_SET 0x22 | 
 
 
 
 
 | 41 | #define LLC_DIR_TIMER_CANCEL 0x23 | 
 
 
 
 
 | 42 | #define LLC_BUFFER_GET 0x26 | 
 
 
 
 
 | 43 | #define LLC_BUFFER_FREE 0x27 | 
 
 
 
 
 | 44 | #define LLC_RECEIVE 0x28 | 
 
 
 
 
 | 45 | #define LLC_RECEIVE_CANCEL 0x29 | 
 
 
 
 
 | 46 | #define LLC_RECEIVE_MODIFY 0x2A | 
 
 
 
 
 | 47 | #define LLC_DIR_TIMER_CANCEL_GROUP 0x2C | 
 
 
 
 
 | 48 | #define LLC_DIR_SET_EXCEPTION_FLAGS 0x2D | 
 
 
 
 
 | 49 | #define LLC_BUFFER_CREATE 0x30 | 
 
 
 
 
 | 50 | #define LLC_READ 0x31 | 
 
 
 
 
 | 51 | #define LLC_READ_CANCEL 0x32 | 
 
 
 
 
 | 52 | #define LLC_DLC_SET_THRESHOLD 0x33 | 
 
 
 
 
 | 53 | #define LLC_DIR_CLOSE_DIRECT 0x34 | 
 
 
 
 
 | 54 | #define LLC_DIR_OPEN_DIRECT 0x35 | 
 
 
 
 
 | 55 | #define LLC_MAX_DLC_COMMAND 0x37 | 
 
 
 
 
 | 56 |  | 
 
 
 
 
 | 57 | union _LLC_PARMS; | 
 
 
 
 
 | 58 | typedef union _LLC_PARMS LLC_PARMS,*PLLC_PARMS; | 
 
 
 
 
 | 59 |  | 
 
 
 
 
 | 60 | typedef union { | 
 
 
 
 
 | 61 | PLLC_PARMS pParameterTable; | 
 
 
 
 
 | 62 | struct { | 
 
 
 
 
 | 63 | USHORT usStationId; | 
 
 
 
 
 | 64 | USHORT usParameter; | 
 
 
 
 
 | 65 | } dlc; | 
 
 
 
 
 | 66 | struct { | 
 
 
 
 
 | 67 | USHORT usParameter0; | 
 
 
 
 
 | 68 | USHORT usParameter1; | 
 
 
 
 
 | 69 | } dir; | 
 
 
 
 
 | 70 | UCHAR auchBuffer[4]; | 
 
 
 
 
 | 71 | ULONG ulParameter; | 
 
 
 
 
 | 72 | } CCB_PARMS; | 
 
 
 
 
 | 73 |  | 
 
 
 
 
 | 74 | typedef struct _LLC_CCB { | 
 
 
 
 
 | 75 | UCHAR uchAdapterNumber; | 
 
 
 
 
 | 76 | UCHAR uchDlcCommand; | 
 
 
 
 
 | 77 | UCHAR uchDlcStatus; | 
 
 
 
 
 | 78 | UCHAR uchReserved1; | 
 
 
 
 
 | 79 | struct _LLC_CCB *pNext; | 
 
 
 
 
 | 80 | ULONG ulCompletionFlag; | 
 
 
 
 
 | 81 | CCB_PARMS u; | 
 
 
 
 
 | 82 | HANDLE hCompletionEvent; | 
 
 
 
 
 | 83 | UCHAR uchReserved2; | 
 
 
 
 
 | 84 | UCHAR uchReadFlag; | 
 
 
 
 
 | 85 | USHORT usReserved3; | 
 
 
 
 
 | 86 | } LLC_CCB,*PLLC_CCB; | 
 
 
 
 
 | 87 |  | 
 
 
 
 
 | 88 | union _LLC_BUFFER; | 
 
 
 
 
 | 89 | typedef union _LLC_BUFFER LLC_BUFFER,*PLLC_BUFFER; | 
 
 
 
 
 | 90 |  | 
 
 
 
 
 | 91 | typedef struct { | 
 
 
 
 
 | 92 | PLLC_BUFFER pNextBuffer; | 
 
 
 
 
 | 93 | USHORT cbFrame; | 
 
 
 
 
 | 94 | USHORT cbBuffer; | 
 
 
 
 
 | 95 | USHORT offUserData; | 
 
 
 
 
 | 96 | USHORT cbUserData; | 
 
 
 
 
 | 97 | } LLC_NEXT_BUFFER; | 
 
 
 
 
 | 98 |  | 
 
 
 
 
 | 99 | typedef struct { | 
 
 
 
 
 | 100 | PLLC_BUFFER pNextBuffer; | 
 
 
 
 
 | 101 | USHORT cbFrame; | 
 
 
 
 
 | 102 | USHORT cbBuffer; | 
 
 
 
 
 | 103 | USHORT offUserData; | 
 
 
 
 
 | 104 | USHORT cbUserData; | 
 
 
 
 
 | 105 | USHORT usStationId; | 
 
 
 
 
 | 106 | UCHAR uchOptions; | 
 
 
 
 
 | 107 | UCHAR uchMsgType; | 
 
 
 
 
 | 108 | USHORT cBuffersLeft; | 
 
 
 
 
 | 109 | UCHAR uchRcvFS; | 
 
 
 
 
 | 110 | UCHAR uchAdapterNumber; | 
 
 
 
 
 | 111 | PLLC_BUFFER pNextFrame; | 
 
 
 
 
 | 112 | UCHAR cbLanHeader; | 
 
 
 
 
 | 113 | UCHAR cbDlcHeader; | 
 
 
 
 
 | 114 | UCHAR auchLanHeader[32]; | 
 
 
 
 
 | 115 | UCHAR auchDlcHeader[4]; | 
 
 
 
 
 | 116 | USHORT usPadding; | 
 
 
 
 
 | 117 | } LLC_NOT_CONTIGUOUS_BUFFER; | 
 
 
 
 
 | 118 |  | 
 
 
 
 
 | 119 | typedef struct { | 
 
 
 
 
 | 120 | PLLC_BUFFER pNextBuffer; | 
 
 
 
 
 | 121 | USHORT cbFrame; | 
 
 
 
 
 | 122 | USHORT cbBuffer; | 
 
 
 
 
 | 123 | USHORT offUserData; | 
 
 
 
 
 | 124 | USHORT cbUserData; | 
 
 
 
 
 | 125 | USHORT usStationId; | 
 
 
 
 
 | 126 | UCHAR uchOptions; | 
 
 
 
 
 | 127 | UCHAR uchMsgType; | 
 
 
 
 
 | 128 | USHORT cBuffersLeft; | 
 
 
 
 
 | 129 | UCHAR uchRcvFS; | 
 
 
 
 
 | 130 | UCHAR uchAdapterNumber; | 
 
 
 
 
 | 131 | PLLC_BUFFER pNextFrame; | 
 
 
 
 
 | 132 | } LLC_CONTIGUOUS_BUFFER; | 
 
 
 
 
 | 133 |  | 
 
 
 
 
 | 134 | union _LLC_BUFFER { | 
 
 
 
 
 | 135 | PLLC_BUFFER pNext; | 
 
 
 
 
 | 136 | LLC_NEXT_BUFFER Next; | 
 
 
 
 
 | 137 | struct LlcNextBuffer { | 
 
 
 
 
 | 138 | LLC_NEXT_BUFFER Header; | 
 
 
 
 
 | 139 | UCHAR auchData[]; | 
 
 
 
 
 | 140 | } Buffer; | 
 
 
 
 
 | 141 | LLC_NOT_CONTIGUOUS_BUFFER NotContiguous; | 
 
 
 
 
 | 142 | struct { | 
 
 
 
 
 | 143 | LLC_NOT_CONTIGUOUS_BUFFER Header; | 
 
 
 
 
 | 144 | UCHAR auchData[]; | 
 
 
 
 
 | 145 | } NotCont; | 
 
 
 
 
 | 146 | LLC_CONTIGUOUS_BUFFER Contiguous; | 
 
 
 
 
 | 147 | struct { | 
 
 
 
 
 | 148 | LLC_CONTIGUOUS_BUFFER Header; | 
 
 
 
 
 | 149 | UCHAR auchData[]; | 
 
 
 
 
 | 150 | } Cont; | 
 
 
 
 
 | 151 | }; | 
 
 
 
 
 | 152 |  | 
 
 
 
 
 | 153 | struct _LLC_XMIT_BUFFER; | 
 
 
 
 
 | 154 | typedef struct _LLC_XMIT_BUFFER LLC_XMIT_BUFFER,*PLLC_XMIT_BUFFER; | 
 
 
 
 
 | 155 |  | 
 
 
 
 
 | 156 | struct _LLC_XMIT_BUFFER { | 
 
 
 
 
 | 157 | PLLC_XMIT_BUFFER pNext; | 
 
 
 
 
 | 158 | USHORT usReserved1; | 
 
 
 
 
 | 159 | USHORT cbBuffer; | 
 
 
 
 
 | 160 | USHORT usReserved2; | 
 
 
 
 
 | 161 | USHORT cbUserData; | 
 
 
 
 
 | 162 | UCHAR auchData[]; | 
 
 
 
 
 | 163 | }; | 
 
 
 
 
 | 164 |  | 
 
 
 
 
 | 165 | #define LLC_XMIT_BUFFER_SIZE sizeof(LLC_XMIT_BUFFER) | 
 
 
 
 
 | 166 |  | 
 
 
 
 
 | 167 | typedef struct { | 
 
 
 
 
 | 168 | HANDLE hBufferPool; | 
 
 
 
 
 | 169 | PVOID pBuffer; | 
 
 
 
 
 | 170 | ULONG cbBufferSize; | 
 
 
 
 
 | 171 | ULONG cbMinimumSizeThreshold; | 
 
 
 
 
 | 172 | } LLC_BUFFER_CREATE_PARMS,*PLLC_BUFFER_CREATE_PARMS; | 
 
 
 
 
 | 173 |  | 
 
 
 
 
 | 174 | typedef struct { | 
 
 
 
 
 | 175 | USHORT usReserved1; | 
 
 
 
 
 | 176 | USHORT cBuffersLeft; | 
 
 
 
 
 | 177 | ULONG ulReserved; | 
 
 
 
 
 | 178 | PLLC_XMIT_BUFFER pFirstBuffer; | 
 
 
 
 
 | 179 | } LLC_BUFFER_FREE_PARMS,*PLLC_BUFFER_FREE_PARMS; | 
 
 
 
 
 | 180 |  | 
 
 
 
 
 | 181 | typedef struct { | 
 
 
 
 
 | 182 | USHORT usReserved1; | 
 
 
 
 
 | 183 | USHORT cBuffersLeft; | 
 
 
 
 
 | 184 | USHORT cBuffersToGet; | 
 
 
 
 
 | 185 | USHORT cbBufferSize; | 
 
 
 
 
 | 186 | PLLC_XMIT_BUFFER pFirstBuffer; | 
 
 
 
 
 | 187 | } LLC_BUFFER_GET_PARMS,*PLLC_BUFFER_GET_PARMS; | 
 
 
 
 
 | 188 |  | 
 
 
 
 
 | 189 | typedef struct { | 
 
 
 
 
 | 190 | USHORT usStationId; | 
 
 
 
 
 | 191 | USHORT usReserved; | 
 
 
 
 
 | 192 | PUCHAR pRoutingInfo; | 
 
 
 
 
 | 193 | } LLC_DLC_CONNECT_PARMS,*PLLC_DLC_CONNECT_PARMS; | 
 
 
 
 
 | 194 |  | 
 
 
 
 
 | 195 | #define LLC_RESET_LOCAL_BUSY_USER 0x80 | 
 
 
 
 
 | 196 | #define LLC_RESET_LOCAL_BUSY_BUFFER 0xC0 | 
 
 
 
 
 | 197 | #define LLC_SET_LOCAL_BUSY_USER 0 | 
 
 
 
 
 | 198 |  | 
 
 
 
 
 | 199 | typedef struct { | 
 
 
 
 
 | 200 | USHORT usRes; | 
 
 
 
 
 | 201 | USHORT usStationId; | 
 
 
 
 
 | 202 | UCHAR uchT1; | 
 
 
 
 
 | 203 | UCHAR uchT2; | 
 
 
 
 
 | 204 | UCHAR uchTi; | 
 
 
 
 
 | 205 | UCHAR uchMaxOut; | 
 
 
 
 
 | 206 | UCHAR uchMaxIn; | 
 
 
 
 
 | 207 | UCHAR uchMaxOutIncr; | 
 
 
 
 
 | 208 | UCHAR uchMaxRetryCnt; | 
 
 
 
 
 | 209 | UCHAR uchReserved1; | 
 
 
 
 
 | 210 | USHORT usMaxInfoFieldLength; | 
 
 
 
 
 | 211 | UCHAR uchAccessPriority; | 
 
 
 
 
 | 212 | UCHAR auchReserved3[4]; | 
 
 
 
 
 | 213 | UCHAR cGroupCount; | 
 
 
 
 
 | 214 | PUCHAR pGroupList; | 
 
 
 
 
 | 215 | } LLC_DLC_MODIFY_PARMS,*PLLC_DLC_MODIFY_PARMS; | 
 
 
 
 
 | 216 |  | 
 
 
 
 
 | 217 | #define LLC_XID_HANDLING_IN_APPLICATION 0x08 | 
 
 
 
 
 | 218 | #define LLC_XID_HANDLING_IN_DLC 0 | 
 
 
 
 
 | 219 | #define LLC_INDIVIDUAL_SAP 0x04 | 
 
 
 
 
 | 220 | #define LLC_GROUP_SAP 0x02 | 
 
 
 
 
 | 221 | #define LLC_MEMBER_OF_GROUP_SAP 0x01 | 
 
 
 
 
 | 222 |  | 
 
 
 
 
 | 223 | typedef struct { | 
 
 
 
 
 | 224 | USHORT usStationId; | 
 
 
 
 
 | 225 | USHORT usUserStatValue; | 
 
 
 
 
 | 226 | UCHAR uchT1; | 
 
 
 
 
 | 227 | UCHAR uchT2; | 
 
 
 
 
 | 228 | UCHAR uchTi; | 
 
 
 
 
 | 229 | UCHAR uchMaxOut; | 
 
 
 
 
 | 230 | UCHAR uchMaxIn; | 
 
 
 
 
 | 231 | UCHAR uchMaxOutIncr; | 
 
 
 
 
 | 232 | UCHAR uchMaxRetryCnt; | 
 
 
 
 
 | 233 | UCHAR uchMaxMembers; | 
 
 
 
 
 | 234 | USHORT usMaxI_Field; | 
 
 
 
 
 | 235 | UCHAR uchSapValue; | 
 
 
 
 
 | 236 | UCHAR uchOptionsPriority; | 
 
 
 
 
 | 237 | UCHAR uchcStationCount; | 
 
 
 
 
 | 238 | UCHAR uchReserved2[2]; | 
 
 
 
 
 | 239 | UCHAR cGroupCount; | 
 
 
 
 
 | 240 | PUCHAR pGroupList; | 
 
 
 
 
 | 241 | ULONG DlcStatusFlags; | 
 
 
 
 
 | 242 | UCHAR uchReserved3[8]; | 
 
 
 
 
 | 243 | UCHAR cLinkStationsAvail; | 
 
 
 
 
 | 244 | } LLC_DLC_OPEN_SAP_PARMS,*PLLC_DLC_OPEN_SAP_PARMS; | 
 
 
 
 
 | 245 |  | 
 
 
 
 
 | 246 | typedef struct { | 
 
 
 
 
 | 247 | USHORT usSapStationId; | 
 
 
 
 
 | 248 | USHORT usLinkStationId; | 
 
 
 
 
 | 249 | UCHAR uchT1; | 
 
 
 
 
 | 250 | UCHAR uchT2; | 
 
 
 
 
 | 251 | UCHAR uchTi; | 
 
 
 
 
 | 252 | UCHAR uchMaxOut; | 
 
 
 
 
 | 253 | UCHAR uchMaxIn; | 
 
 
 
 
 | 254 | UCHAR uchMaxOutIncr; | 
 
 
 
 
 | 255 | UCHAR uchMaxRetryCnt; | 
 
 
 
 
 | 256 | UCHAR uchRemoteSap; | 
 
 
 
 
 | 257 | USHORT usMaxI_Field; | 
 
 
 
 
 | 258 | UCHAR uchAccessPriority; | 
 
 
 
 
 | 259 | PVOID pRemoteNodeAddress; | 
 
 
 
 
 | 260 | } LLC_DLC_OPEN_STATION_PARMS,*PLLC_DLC_OPEN_STATION_PARMS; | 
 
 
 
 
 | 261 |  | 
 
 
 
 
 | 262 | #define LLC_INCREASE_LINK_STATIONS 0 | 
 
 
 
 
 | 263 | #define LLC_DECREASE_LINK_STATIONS 0x80 | 
 
 
 
 
 | 264 |  | 
 
 
 
 
 | 265 | typedef struct { | 
 
 
 
 
 | 266 | USHORT usStationId; | 
 
 
 
 
 | 267 | UCHAR uchOption; | 
 
 
 
 
 | 268 | UCHAR uchStationCount; | 
 
 
 
 
 | 269 | UCHAR uchStationsAvailOnAdapter; | 
 
 
 
 
 | 270 | UCHAR uchStationsAvailOnSap; | 
 
 
 
 
 | 271 | UCHAR uchTotalStationsOnAdapter; | 
 
 
 
 
 | 272 | UCHAR uchTotalStationsOnSap; | 
 
 
 
 
 | 273 | } LLC_DLC_REALLOCATE_PARMS,*PLLC_DLC_REALLOCATE_PARMS; | 
 
 
 
 
 | 274 |  | 
 
 
 
 
 | 275 | typedef struct { | 
 
 
 
 
 | 276 | USHORT usStationId; | 
 
 
 
 
 | 277 | USHORT cBufferThreshold; | 
 
 
 
 
 | 278 | PVOID AlertEvent; | 
 
 
 
 
 | 279 | } LLC_DLC_SET_THRESHOLD_PARMS,*PLLC_DLC_SET_THRESHOLD_PARMS; | 
 
 
 
 
 | 280 |  | 
 
 
 
 
 | 281 | typedef struct { | 
 
 
 
 
 | 282 | PVOID TraceBuffer; | 
 
 
 
 
 | 283 | ULONG TraceBufferSize; | 
 
 
 
 
 | 284 | ULONG TraceFlags; | 
 
 
 
 
 | 285 | } LLC_TRACE_INITIALIZE_PARMS,*PLLC_TRACE_INITIALIZE_PARMS; | 
 
 
 
 
 | 286 |  | 
 
 
 
 
 | 287 | #define LLC_DLC_RESET_STATISTICS 0x80 | 
 
 
 
 
 | 288 | #define LLC_DLC_READ_STATISTICS 0 | 
 
 
 
 
 | 289 |  | 
 
 
 
 
 | 290 | typedef struct { | 
 
 
 
 
 | 291 | ULONG cTransmittedFrames; | 
 
 
 
 
 | 292 | ULONG cReceivedFrames; | 
 
 
 
 
 | 293 | ULONG cDiscardedFrames; | 
 
 
 
 
 | 294 | ULONG cDataLost; | 
 
 
 
 
 | 295 | USHORT cBuffersAvailable; | 
 
 
 
 
 | 296 | } DLC_SAP_LOG,*PDLC_SAP_LOG; | 
 
 
 
 
 | 297 |  | 
 
 
 
 
 | 298 | typedef struct { | 
 
 
 
 
 | 299 | USHORT cI_FramesTransmitted; | 
 
 
 
 
 | 300 | USHORT cI_FramesReceived; | 
 
 
 
 
 | 301 | UCHAR cI_FrameReceiveErrors; | 
 
 
 
 
 | 302 | UCHAR cI_FrameTransmissionErrors; | 
 
 
 
 
 | 303 | USHORT cT1_ExpirationCount; | 
 
 
 
 
 | 304 | UCHAR uchLastCmdRespReceived; | 
 
 
 
 
 | 305 | UCHAR uchLastCmdRespTransmitted; | 
 
 
 
 
 | 306 | UCHAR uchPrimaryState; | 
 
 
 
 
 | 307 | UCHAR uchSecondaryState; | 
 
 
 
 
 | 308 | UCHAR uchSendStateVariable; | 
 
 
 
 
 | 309 | UCHAR uchReceiveStateVariable; | 
 
 
 
 
 | 310 | UCHAR uchLastNr; | 
 
 
 
 
 | 311 | UCHAR cbLanHeader; | 
 
 
 
 
 | 312 | UCHAR auchLanHeader[32]; | 
 
 
 
 
 | 313 | } DLC_LINK_LOG,*PDLC_LINK_LOG; | 
 
 
 
 
 | 314 |  | 
 
 
 
 
 | 315 | typedef union { | 
 
 
 
 
 | 316 | DLC_SAP_LOG Sap; | 
 
 
 
 
 | 317 | DLC_LINK_LOG Link; | 
 
 
 
 
 | 318 | } LLC_DLC_LOG_BUFFER,*PLLC_DLC_LOG_BUFFER; | 
 
 
 
 
 | 319 |  | 
 
 
 
 
 | 320 | typedef struct { | 
 
 
 
 
 | 321 | USHORT usStationId; | 
 
 
 
 
 | 322 | USHORT cbLogBufSize; | 
 
 
 
 
 | 323 | PLLC_DLC_LOG_BUFFER pLogBuf; | 
 
 
 
 
 | 324 | USHORT usActLogLength; | 
 
 
 
 
 | 325 | UCHAR uchOptions; | 
 
 
 
 
 | 326 | } LLC_DLC_STATISTICS_PARMS,*PLLC_DLC_STATISTICS_PARMS; | 
 
 
 
 
 | 327 |  | 
 
 
 
 
 | 328 | typedef struct { | 
 
 
 
 
 | 329 | USHORT usBringUps; | 
 
 
 
 
 | 330 | UCHAR Reserved[30]; | 
 
 
 
 
 | 331 | } LLC_DIR_INITIALIZE_PARMS,*PLLC_DIR_INITIALIZE_PARMS; | 
 
 
 
 
 | 332 |  | 
 
 
 
 
 | 333 | typedef struct { | 
 
 
 
 
 | 334 | USHORT usOpenErrorCode; | 
 
 
 
 
 | 335 | USHORT usOpenOptions; | 
 
 
 
 
 | 336 | UCHAR auchNodeAddress[6]; | 
 
 
 
 
 | 337 | UCHAR auchGroupAddress[4]; | 
 
 
 
 
 | 338 | UCHAR auchFunctionalAddress[4]; | 
 
 
 
 
 | 339 | USHORT usReserved1; | 
 
 
 
 
 | 340 | USHORT usReserved2; | 
 
 
 
 
 | 341 | USHORT usMaxFrameSize; | 
 
 
 
 
 | 342 | USHORT usReserved3[4]; | 
 
 
 
 
 | 343 | USHORT usBringUps; | 
 
 
 
 
 | 344 | USHORT InitWarnings; | 
 
 
 
 
 | 345 | USHORT usReserved4[3]; | 
 
 
 
 
 | 346 | } LLC_ADAPTER_OPEN_PARMS,*PLLC_ADAPTER_OPEN_PARMS; | 
 
 
 
 
 | 347 |  | 
 
 
 
 
 | 348 | typedef struct { | 
 
 
 
 
 | 349 | UCHAR uchDlcMaxSaps; | 
 
 
 
 
 | 350 | UCHAR uchDlcMaxStations; | 
 
 
 
 
 | 351 | UCHAR uchDlcMaxGroupSaps; | 
 
 
 
 
 | 352 | UCHAR uchDlcMaxGroupMembers; | 
 
 
 
 
 | 353 | UCHAR uchT1_TickOne; | 
 
 
 
 
 | 354 | UCHAR uchT2_TickOne; | 
 
 
 
 
 | 355 | UCHAR uchTi_TickOne; | 
 
 
 
 
 | 356 | UCHAR uchT1_TickTwo; | 
 
 
 
 
 | 357 | UCHAR uchT2_TickTwo; | 
 
 
 
 
 | 358 | UCHAR uchTi_TickTwo; | 
 
 
 
 
 | 359 | } LLC_DLC_PARMS,*PLLC_DLC_PARMS; | 
 
 
 
 
 | 360 |  | 
 
 
 
 
 | 361 | typedef enum { | 
 
 
 
 
 | 362 | LLC_ETHERNET_TYPE_DEFAULT,LLC_ETHERNET_TYPE_AUTO,LLC_ETHERNET_TYPE_802_3,LLC_ETHERNET_TYPE_DIX | 
 
 
 
 
 | 363 | } LLC_ETHERNET_TYPE,*PLLC_ETHERNET_TYPE; | 
 
 
 
 
 | 364 |  | 
 
 
 
 
 | 365 | typedef struct { | 
 
 
 
 
 | 366 | PVOID hBufferPool; | 
 
 
 
 
 | 367 | PVOID pSecurityDescriptor; | 
 
 
 
 
 | 368 | LLC_ETHERNET_TYPE LlcEthernetType; | 
 
 
 
 
 | 369 | } LLC_EXTENDED_ADAPTER_PARMS,*PLLC_EXTENDED_ADAPTER_PARMS; | 
 
 
 
 
 | 370 |  | 
 
 
 
 
 | 371 | typedef struct { | 
 
 
 
 
 | 372 | PLLC_ADAPTER_OPEN_PARMS pAdapterParms; | 
 
 
 
 
 | 373 | PLLC_EXTENDED_ADAPTER_PARMS pExtendedParms; | 
 
 
 
 
 | 374 | PLLC_DLC_PARMS pDlcParms; | 
 
 
 
 
 | 375 | PVOID pReserved1; | 
 
 
 
 
 | 376 | } LLC_DIR_OPEN_ADAPTER_PARMS,*PLLC_DIR_OPEN_ADAPTER_PARMS; | 
 
 
 
 
 | 377 |  | 
 
 
 
 
 | 378 | typedef struct { | 
 
 
 
 
 | 379 | UCHAR auchMulticastAddress[6]; | 
 
 
 
 
 | 380 | } LLC_DIR_MULTICAST_ADDRESS,*PLLC_DIR_MULTICAST_ADDRESS; | 
 
 
 
 
 | 381 |  | 
 
 
 
 
 | 382 | #define LLC_DIRECT_OPTIONS_ALL_MACS 0x1880 | 
 
 
 
 
 | 383 |  | 
 
 
 
 
 | 384 | typedef struct { | 
 
 
 
 
 | 385 | USHORT Reserved[4]; | 
 
 
 
 
 | 386 | USHORT usOpenOptions; | 
 
 
 
 
 | 387 | USHORT usEthernetType; | 
 
 
 
 
 | 388 | ULONG ulProtocolTypeMask; | 
 
 
 
 
 | 389 | ULONG ulProtocolTypeMatch; | 
 
 
 
 
 | 390 | USHORT usProtocolTypeOffset; | 
 
 
 
 
 | 391 | } LLC_DIR_OPEN_DIRECT_PARMS,*PLLC_DIR_OPEN_DIRECT_PARMS; | 
 
 
 
 
 | 392 |  | 
 
 
 
 
 | 393 | typedef struct { | 
 
 
 
 
 | 394 | UCHAR cLineError; | 
 
 
 
 
 | 395 | UCHAR cInternalError; | 
 
 
 
 
 | 396 | UCHAR cBurstError; | 
 
 
 
 
 | 397 | UCHAR cAC_Error; | 
 
 
 
 
 | 398 | UCHAR cAbortDelimiter; | 
 
 
 
 
 | 399 | UCHAR uchReserved1; | 
 
 
 
 
 | 400 | UCHAR cLostFrame; | 
 
 
 
 
 | 401 | UCHAR cReceiveCongestion; | 
 
 
 
 
 | 402 | UCHAR cFrameCopiedError; | 
 
 
 
 
 | 403 | UCHAR cFrequencyError; | 
 
 
 
 
 | 404 | UCHAR cTokenError; | 
 
 
 
 
 | 405 | UCHAR uchReserved2; | 
 
 
 
 
 | 406 | UCHAR uchReserved3; | 
 
 
 
 
 | 407 | UCHAR uchReserved4; | 
 
 
 
 
 | 408 | } LLC_ADAPTER_LOG_TR,*PLLC_ADAPTER_LOG_TR; | 
 
 
 
 
 | 409 |  | 
 
 
 
 
 | 410 | typedef struct { | 
 
 
 
 
 | 411 | UCHAR cCRC_Error; | 
 
 
 
 
 | 412 | UCHAR uchReserved1; | 
 
 
 
 
 | 413 | UCHAR cAlignmentError; | 
 
 
 
 
 | 414 | UCHAR uchReserved2; | 
 
 
 
 
 | 415 | UCHAR cTransmitError; | 
 
 
 
 
 | 416 | UCHAR uchReserved3; | 
 
 
 
 
 | 417 | UCHAR cCollisionError; | 
 
 
 
 
 | 418 | UCHAR cReceiveCongestion; | 
 
 
 
 
 | 419 | UCHAR uchReserved[6]; | 
 
 
 
 
 | 420 | } LLC_ADAPTER_LOG_ETH,*PLLC_ADAPTER_LOG_ETH; | 
 
 
 
 
 | 421 |  | 
 
 
 
 
 | 422 | typedef union { | 
 
 
 
 
 | 423 | LLC_ADAPTER_LOG_TR Tr; | 
 
 
 
 
 | 424 | LLC_ADAPTER_LOG_ETH Eth; | 
 
 
 
 
 | 425 | } LLC_ADAPTER_LOG,*PLLC_ADAPTER_LOG; | 
 
 
 
 
 | 426 |  | 
 
 
 
 
 | 427 | typedef struct { | 
 
 
 
 
 | 428 | ULONG cTransmittedFrames; | 
 
 
 
 
 | 429 | ULONG cReceivedFrames; | 
 
 
 
 
 | 430 | ULONG cDiscardedFrames; | 
 
 
 
 
 | 431 | ULONG cDataLost; | 
 
 
 
 
 | 432 | USHORT cBuffersAvailable; | 
 
 
 
 
 | 433 | } LLC_DIRECT_LOG,*PLLC_DIRECT_LOG; | 
 
 
 
 
 | 434 |  | 
 
 
 
 
 | 435 | typedef union { | 
 
 
 
 
 | 436 | LLC_ADAPTER_LOG Adapter; | 
 
 
 
 
 | 437 | LLC_DIRECT_LOG Dir; | 
 
 
 
 
 | 438 | struct { | 
 
 
 
 
 | 439 | LLC_ADAPTER_LOG Adapter; | 
 
 
 
 
 | 440 | LLC_DIRECT_LOG Dir; | 
 
 
 
 
 | 441 | } both; | 
 
 
 
 
 | 442 | } LLC_DIR_READ_LOG_BUFFER,*PLLC_DIR_READ_LOG_BUFFER; | 
 
 
 
 
 | 443 |  | 
 
 
 
 
 | 444 | #define LLC_DIR_READ_LOG_ADAPTER 0 | 
 
 
 
 
 | 445 | #define LLC_DIR_READ_LOG_DIRECT 1 | 
 
 
 
 
 | 446 | #define LLC_DIR_READ_LOG_BOTH 2 | 
 
 
 
 
 | 447 |  | 
 
 
 
 
 | 448 | typedef struct { | 
 
 
 
 
 | 449 | USHORT usTypeId; | 
 
 
 
 
 | 450 | USHORT cbLogBuffer; | 
 
 
 
 
 | 451 | PLLC_DIR_READ_LOG_BUFFER pLogBuffer; | 
 
 
 
 
 | 452 | USHORT cbActualLength; | 
 
 
 
 
 | 453 | } LLC_DIR_READ_LOG_PARMS,*PLLC_DIR_READ_LOG_PARMS; | 
 
 
 
 
 | 454 |  | 
 
 
 
 
 | 455 | typedef struct { | 
 
 
 
 
 | 456 | ULONG ulAdapterCheckFlag; | 
 
 
 
 
 | 457 | ULONG ulNetworkStatusFlag; | 
 
 
 
 
 | 458 | ULONG ulPcErrorFlag; | 
 
 
 
 
 | 459 | ULONG ulSystemActionFlag; | 
 
 
 
 
 | 460 | } LLC_DIR_SET_EFLAG_PARMS,*PLLC_DIR_SET_EFLAG_PARMS; | 
 
 
 
 
 | 461 |  | 
 
 
 
 
 | 462 | #define LLC_ADAPTER_ETHERNET 0x0010 | 
 
 
 
 
 | 463 | #define LLC_ADAPTER_TOKEN_RING 0x0040 | 
 
 
 
 
 | 464 |  | 
 
 
 
 
 | 465 | typedef struct { | 
 
 
 
 
 | 466 | UCHAR auchPermanentAddress[6]; | 
 
 
 
 
 | 467 | UCHAR auchNodeAddress[6]; | 
 
 
 
 
 | 468 | UCHAR auchGroupAddress[4]; | 
 
 
 
 
 | 469 | UCHAR auchFunctAddr[4]; | 
 
 
 
 
 | 470 | UCHAR uchMaxSap; | 
 
 
 
 
 | 471 | UCHAR uchOpenSaps; | 
 
 
 
 
 | 472 | UCHAR uchMaxStations; | 
 
 
 
 
 | 473 | UCHAR uchOpenStation; | 
 
 
 
 
 | 474 | UCHAR uchAvailStations; | 
 
 
 
 
 | 475 | UCHAR uchAdapterConfig; | 
 
 
 
 
 | 476 | UCHAR auchReserved1[10]; | 
 
 
 
 
 | 477 | ULONG ulReserved1; | 
 
 
 
 
 | 478 | ULONG ulReserved2; | 
 
 
 
 
 | 479 | ULONG ulMaxFrameLength; | 
 
 
 
 
 | 480 | USHORT usLastNetworkStatus; | 
 
 
 
 
 | 481 | USHORT usAdapterType; | 
 
 
 
 
 | 482 | } LLC_DIR_STATUS_PARMS,*PLLC_DIR_STATUS_PARMS; | 
 
 
 
 
 | 483 |  | 
 
 
 
 
 | 484 | #define LLC_OPTION_READ_STATION 0 | 
 
 
 
 
 | 485 | #define LLC_OPTION_READ_SAP 1 | 
 
 
 
 
 | 486 | #define LLC_OPTION_READ_ALL 2 | 
 
 
 
 
 | 487 |  | 
 
 
 
 
 | 488 | #define LLC_EVENT_SYSTEM_ACTION 0x0040 | 
 
 
 
 
 | 489 | #define LLC_EVENT_NETWORK_STATUS 0x0020 | 
 
 
 
 
 | 490 | #define LLC_EVENT_CRITICAL_EXCEPTION 0x0010 | 
 
 
 
 
 | 491 | #define LLC_EVENT_STATUS_CHANGE 0x0008 | 
 
 
 
 
 | 492 | #define LLC_EVENT_RECEIVE_DATA 0x0004 | 
 
 
 
 
 | 493 | #define LLC_EVENT_TRANSMIT_COMPLETION 0x0002 | 
 
 
 
 
 | 494 | #define LLC_EVENT_COMMAND_COMPLETION 0x0001 | 
 
 
 
 
 | 495 | #define LLC_READ_ALL_EVENTS 0x007F | 
 
 
 
 
 | 496 |  | 
 
 
 
 
 | 497 | #define LLC_INDICATE_LINK_LOST 0x8000 | 
 
 
 
 
 | 498 | #define LLC_INDICATE_DM_DISC_RECEIVED 0x4000 | 
 
 
 
 
 | 499 | #define LLC_INDICATE_FRMR_RECEIVED 0x2000 | 
 
 
 
 
 | 500 | #define LLC_INDICATE_FRMR_SENT 0x1000 | 
 
 
 
 
 | 501 | #define LLC_INDICATE_RESET 0x0800 | 
 
 
 
 
 | 502 | #define LLC_INDICATE_CONNECT_REQUEST 0x0400 | 
 
 
 
 
 | 503 | #define LLC_INDICATE_REMOTE_BUSY 0x0200 | 
 
 
 
 
 | 504 | #define LLC_INDICATE_REMOTE_READY 0x0100 | 
 
 
 
 
 | 505 | #define LLC_INDICATE_TI_TIMER_EXPIRED 0x0080 | 
 
 
 
 
 | 506 | #define LLC_INDICATE_DLC_COUNTER_OVERFLOW 0x0040 | 
 
 
 
 
 | 507 | #define LLC_INDICATE_ACCESS_PRTY_LOWERED 0x0020 | 
 
 
 
 
 | 508 | #define LLC_INDICATE_LOCAL_STATION_BUSY 0x0001 | 
 
 
 
 
 | 509 |  | 
 
 
 
 
 | 510 | typedef struct { | 
 
 
 
 
 | 511 | USHORT usStationId; | 
 
 
 
 
 | 512 | UCHAR uchOptionIndicator; | 
 
 
 
 
 | 513 | UCHAR uchEventSet; | 
 
 
 
 
 | 514 | UCHAR uchEvent; | 
 
 
 
 
 | 515 | UCHAR uchCriticalSubset; | 
 
 
 
 
 | 516 | ULONG ulNotificationFlag; | 
 
 
 
 
 | 517 | union { | 
 
 
 
 
 | 518 | struct { | 
 
 
 
 
 | 519 | USHORT usCcbCount; | 
 
 
 
 
 | 520 | PLLC_CCB pCcbCompletionList; | 
 
 
 
 
 | 521 | USHORT usBufferCount; | 
 
 
 
 
 | 522 | PLLC_BUFFER pFirstBuffer; | 
 
 
 
 
 | 523 | USHORT usReceivedFrameCount; | 
 
 
 
 
 | 524 | PLLC_BUFFER pReceivedFrame; | 
 
 
 
 
 | 525 | USHORT usEventErrorCode; | 
 
 
 
 
 | 526 | USHORT usEventErrorData[3]; | 
 
 
 
 
 | 527 | } Event; | 
 
 
 
 
 | 528 | struct { | 
 
 
 
 
 | 529 | USHORT usStationId; | 
 
 
 
 
 | 530 | USHORT usDlcStatusCode; | 
 
 
 
 
 | 531 | UCHAR uchFrmrData[5]; | 
 
 
 
 
 | 532 | UCHAR uchAccessPritority; | 
 
 
 
 
 | 533 | UCHAR uchRemoteNodeAddress[6]; | 
 
 
 
 
 | 534 | UCHAR uchRemoteSap; | 
 
 
 
 
 | 535 | UCHAR uchReserved; | 
 
 
 
 
 | 536 | USHORT usUserStatusValue; | 
 
 
 
 
 | 537 | } Status; | 
 
 
 
 
 | 538 | } Type; | 
 
 
 
 
 | 539 | } LLC_READ_PARMS,*PLLC_READ_PARMS; | 
 
 
 
 
 | 540 |  | 
 
 
 
 
 | 541 | typedef struct { | 
 
 
 
 
 | 542 | LLC_CCB Ccb; | 
 
 
 
 
 | 543 | LLC_READ_PARMS Parms; | 
 
 
 
 
 | 544 | } LLC_READ_COMMAND,*PLLC_READ_COMMAND; | 
 
 
 
 
 | 545 |  | 
 
 
 
 
 | 546 | #define LLC_DIR_RCV_ALL_TR_FRAMES 0 | 
 
 
 
 
 | 547 | #define LLC_DIR_RCV_ALL_MAC_FRAMES 1 | 
 
 
 
 
 | 548 | #define LLC_DIR_RCV_ALL_8022_FRAMES 2 | 
 
 
 
 
 | 549 | #define LLC_DIR_RCV_ALL_FRAMES 4 | 
 
 
 
 
 | 550 | #define LLC_DIR_RCV_ALL_ETHERNET_TYPES 5 | 
 
 
 
 
 | 551 |  | 
 
 
 
 
 | 552 | #define LLC_CONTIGUOUS_MAC 0x80 | 
 
 
 
 
 | 553 | #define LLC_CONTIGUOUS_DATA 0x40 | 
 
 
 
 
 | 554 | #define LLC_NOT_CONTIGUOUS_DATA 0x00 | 
 
 
 
 
 | 555 |  | 
 
 
 
 
 | 556 | #define LLC_RCV_READ_INDIVIDUAL_FRAMES 0 | 
 
 
 
 
 | 557 | #define LLC_RCV_CHAIN_FRAMES_ON_LINK 1 | 
 
 
 
 
 | 558 | #define LLC_RCV_CHAIN_FRAMES_ON_SAP 2 | 
 
 
 
 
 | 559 |  | 
 
 
 
 
 | 560 | typedef struct { | 
 
 
 
 
 | 561 | USHORT usStationId; | 
 
 
 
 
 | 562 | USHORT usUserLength; | 
 
 
 
 
 | 563 | ULONG ulReceiveFlag; | 
 
 
 
 
 | 564 | PLLC_BUFFER pFirstBuffer; | 
 
 
 
 
 | 565 | UCHAR uchOptions; | 
 
 
 
 
 | 566 | UCHAR auchReserved1[3]; | 
 
 
 
 
 | 567 | UCHAR uchRcvReadOption; | 
 
 
 
 
 | 568 | } LLC_RECEIVE_PARMS,*PLLC_RECEIVE_PARMS; | 
 
 
 
 
 | 569 |  | 
 
 
 
 
 | 570 | #define LLC_CHAIN_XMIT_COMMANDS_ON_LINK 0 | 
 
 
 
 
 | 571 | #define LLC_COMPLETE_SINGLE_XMIT_FRAME 1 | 
 
 
 
 
 | 572 | #define LLC_CHAIN_XMIT_COMMANDS_ON_SAP 2 | 
 
 
 
 
 | 573 |  | 
 
 
 
 
 | 574 | typedef struct { | 
 
 
 
 
 | 575 | USHORT usStationId; | 
 
 
 
 
 | 576 | UCHAR uchTransmitFs; | 
 
 
 
 
 | 577 | UCHAR uchRemoteSap; | 
 
 
 
 
 | 578 | PLLC_XMIT_BUFFER pXmitQueue1; | 
 
 
 
 
 | 579 | PLLC_XMIT_BUFFER pXmitQueue2; | 
 
 
 
 
 | 580 | USHORT cbBuffer1; | 
 
 
 
 
 | 581 | USHORT cbBuffer2; | 
 
 
 
 
 | 582 | PVOID pBuffer1; | 
 
 
 
 
 | 583 | PVOID pBuffer2; | 
 
 
 
 
 | 584 | UCHAR uchXmitReadOption; | 
 
 
 
 
 | 585 | } LLC_TRANSMIT_PARMS,*PLLC_TRANSMIT_PARMS; | 
 
 
 
 
 | 586 |  | 
 
 
 
 
 | 587 | #define LLC_FIRST_DATA_SEGMENT 0x01 | 
 
 
 
 
 | 588 | #define LLC_NEXT_DATA_SEGMENT 0x02 | 
 
 
 
 
 | 589 |  | 
 
 
 
 
 | 590 | typedef struct { | 
 
 
 
 
 | 591 | UCHAR eSegmentType; | 
 
 
 
 
 | 592 | UCHAR boolFreeBuffer; | 
 
 
 
 
 | 593 | USHORT cbBuffer; | 
 
 
 
 
 | 594 | PVOID pBuffer; | 
 
 
 
 
 | 595 | } LLC_TRANSMIT_DESCRIPTOR,*PLLC_TRANSMIT_DESCRIPTOR; | 
 
 
 
 
 | 596 |  | 
 
 
 
 
 | 597 | enum _LLC_FRAME_TYPES { | 
 
 
 
 
 | 598 | LLC_DIRECT_TRANSMIT = 0x0000,LLC_DIRECT_MAC = 0x0002,LLC_I_FRAME = 0x0004,LLC_UI_FRAME = 0x0006,LLC_XID_COMMAND_POLL = 0x0008, | 
 
 
 
 
 | 599 | LLC_XID_COMMAND_NOT_POLL = 0x000A,LLC_XID_RESPONSE_FINAL = 0x000C,LLC_XID_RESPONSE_NOT_FINAL = 0x000E,LLC_TEST_RESPONSE_FINAL = 0x0010, | 
 
 
 
 
 | 600 | LLC_TEST_RESPONSE_NOT_FINAL = 0x0012,LLC_DIRECT_8022 = 0x0014,LLC_TEST_COMMAND_POLL = 0x0016,LLC_DIRECT_ETHERNET_TYPE = 0x0018, | 
 
 
 
 
 | 601 | LLC_LAST_FRAME_TYPE = 0x001a,LLC_FIRST_ETHERNET_TYPE = 0x05DD | 
 
 
 
 
 | 602 | }; | 
 
 
 
 
 | 603 |  | 
 
 
 
 
 | 604 | typedef struct { | 
 
 
 
 
 | 605 | LLC_CCB Ccb; | 
 
 
 
 
 | 606 | USHORT usStationId; | 
 
 
 
 
 | 607 | USHORT usFrameType; | 
 
 
 
 
 | 608 | UCHAR uchRemoteSap; | 
 
 
 
 
 | 609 | UCHAR uchXmitReadOption; | 
 
 
 
 
 | 610 | UCHAR Reserved2[2]; | 
 
 
 
 
 | 611 | ULONG cXmitBufferCount; | 
 
 
 
 
 | 612 | LLC_TRANSMIT_DESCRIPTOR aXmitBuffer[1]; | 
 
 
 
 
 | 613 | } LLC_TRANSMIT2_COMMAND,*PLLC_TRANSMIT2_COMMAND; | 
 
 
 
 
 | 614 |  | 
 
 
 
 
 | 615 | #define LLC_TRANSMIT2_VAR_PARMS(a) struct { LLC_CCB Ccb; USHORT usStationId; USHORT usFrameType; UCHAR uchRemoteSap; UCHAR uchXmitReadOption; UCHAR uchReserved2[2]; ULONG cXmitBufferCount; LLC_TRANSMIT_DESCRIPTOR XmitBuffer[(a)];} | 
 
 
 
 
 | 616 |  | 
 
 
 
 
 | 617 | union _LLC_PARMS { | 
 
 
 
 
 | 618 | LLC_BUFFER_FREE_PARMS BufferFree; | 
 
 
 
 
 | 619 | LLC_BUFFER_GET_PARMS BufferGet; | 
 
 
 
 
 | 620 | LLC_DLC_CONNECT_PARMS DlcConnectStation; | 
 
 
 
 
 | 621 | LLC_DLC_MODIFY_PARMS DlcModify; | 
 
 
 
 
 | 622 | LLC_DLC_OPEN_SAP_PARMS DlcOpenSap; | 
 
 
 
 
 | 623 | LLC_DLC_OPEN_STATION_PARMS DlcOpenStation; | 
 
 
 
 
 | 624 | LLC_DLC_REALLOCATE_PARMS DlcReallocate; | 
 
 
 
 
 | 625 | LLC_DLC_SET_THRESHOLD_PARMS DlcSetThreshold; | 
 
 
 
 
 | 626 | LLC_DLC_STATISTICS_PARMS DlcStatistics; | 
 
 
 
 
 | 627 | LLC_DIR_INITIALIZE_PARMS DirInitialize; | 
 
 
 
 
 | 628 | LLC_DIR_OPEN_ADAPTER_PARMS DirOpenAdapter; | 
 
 
 
 
 | 629 | LLC_DIR_OPEN_DIRECT_PARMS DirOpenDirect; | 
 
 
 
 
 | 630 | LLC_DIR_READ_LOG_PARMS DirReadLog; | 
 
 
 
 
 | 631 | LLC_DIR_SET_EFLAG_PARMS DirSetEventFlag; | 
 
 
 
 
 | 632 | LLC_DIR_STATUS_PARMS DirStatus; | 
 
 
 
 
 | 633 | LLC_READ_PARMS Read; | 
 
 
 
 
 | 634 | LLC_RECEIVE_PARMS Receive; | 
 
 
 
 
 | 635 | LLC_TRANSMIT_PARMS Transmit; | 
 
 
 
 
 | 636 | LLC_TRANSMIT2_COMMAND Transmit2; | 
 
 
 
 
 | 637 | LLC_TRACE_INITIALIZE_PARMS TraceInitialize; | 
 
 
 
 
 | 638 | }; | 
 
 
 
 
 | 639 |  | 
 
 
 
 
 | 640 | typedef enum _LLC_STATUS { | 
 
 
 
 
 | 641 | LLC_STATUS_SUCCESS = 0x00,LLC_STATUS_INVALID_COMMAND = 0x01,LLC_STATUS_DUPLICATE_COMMAND = 0x02,LLC_STATUS_ADAPTER_OPEN = 0x03, | 
 
 
 
 
 | 642 | LLC_STATUS_ADAPTER_CLOSED = 0x04,LLC_STATUS_PARAMETER_MISSING = 0x05,LLC_STATUS_INVALID_OPTION = 0x06,LLC_STATUS_COMMAND_CANCELLED_FAILURE = 0x07, | 
 
 
 
 
 | 643 | LLC_STATUS_ACCESS_DENIED = 0x08,LLC_STATUS_ADAPTER_NOT_INITIALIZED = 0x09,LLC_STATUS_CANCELLED_BY_USER = 0x0A, | 
 
 
 
 
 | 644 | LLC_STATUS_COMMAND_CANCELLED_CLOSED = 0x0B,LLC_STATUS_SUCCESS_NOT_OPEN = 0x0C,LLC_STATUS_TIMER_ERROR = 0x11,LLC_STATUS_NO_MEMORY = 0x12, | 
 
 
 
 
 | 645 | LLC_STATUS_INVALID_LOG_ID = 0x13,LLC_STATUS_LOST_LOG_DATA = 0x15,LLC_STATUS_BUFFER_SIZE_EXCEEDED = 0x16,LLC_STATUS_INVALID_BUFFER_LENGTH = 0x18, | 
 
 
 
 
 | 646 | LLC_STATUS_INADEQUATE_BUFFERS = 0x19,LLC_STATUS_USER_LENGTH_TOO_LARGE = 0x1A,LLC_STATUS_INVALID_PARAMETER_TABLE = 0x1B, | 
 
 
 
 
 | 647 | LLC_STATUS_INVALID_POINTER_IN_CCB = 0x1C,LLC_STATUS_INVALID_ADAPTER = 0x1D,LLC_STATUS_LOST_DATA_NO_BUFFERS = 0x20, | 
 
 
 
 
 | 648 | LLC_STATUS_LOST_DATA_INADEQUATE_SPACE = 0x21,LLC_STATUS_TRANSMIT_ERROR_FS = 0x22,LLC_STATUS_TRANSMIT_ERROR = 0x23, | 
 
 
 
 
 | 649 | LLC_STATUS_UNAUTHORIZED_MAC = 0x24,LLC_STATUS_MAX_COMMANDS_EXCEEDED = 0x25,LLC_STATUS_LINK_NOT_TRANSMITTING = 0x27, | 
 
 
 
 
 | 650 | LLC_STATUS_INVALID_FRAME_LENGTH = 0x28,LLC_STATUS_INADEQUATE_RECEIVE = 0x30,LLC_STATUS_INVALID_NODE_ADDRESS = 0x32, | 
 
 
 
 
 | 651 | LLC_STATUS_INVALID_RCV_BUFFER_LENGTH = 0x33,LLC_STATUS_INVALID_XMIT_BUFFER_LENGTH = 0x34,LLC_STATUS_INVALID_STATION_ID = 0x40, | 
 
 
 
 
 | 652 | LLC_STATUS_LINK_PROTOCOL_ERROR = 0x41,LLC_STATUS_PARMETERS_EXCEEDED_MAX = 0x42,LLC_STATUS_INVALID_SAP_VALUE = 0x43, | 
 
 
 
 
 | 653 | LLC_STATUS_INVALID_ROUTING_INFO = 0x44,LLC_STATUS_RESOURCES_NOT_AVAILABLE = 0x46,LLC_STATUS_LINK_STATIONS_OPEN = 0x47, | 
 
 
 
 
 | 654 | LLC_STATUS_INCOMPATIBLE_COMMANDS = 0x4A,LLC_STATUS_OUTSTANDING_COMMANDS = 0x4C,LLC_STATUS_CONNECT_FAILED = 0x4D, | 
 
 
 
 
 | 655 | LLC_STATUS_INVALID_REMOTE_ADDRESS = 0x4F,LLC_STATUS_CCB_POINTER_FIELD = 0x50,LLC_STATUS_INVALID_APPLICATION_ID = 0x52, | 
 
 
 
 
 | 656 | LLC_STATUS_NO_SYSTEM_PROCESS = 0x56,LLC_STATUS_INADEQUATE_LINKS = 0x57,LLC_STATUS_INVALID_PARAMETER_1 = 0x58, | 
 
 
 
 
 | 657 | LLC_STATUS_DIRECT_STATIONS_NOT_ASSIGNED = 0x5C,LLC_STATUS_DEVICE_DRIVER_NOT_INSTALLED = 0x5d,LLC_STATUS_ADAPTER_NOT_INSTALLED = 0x5e, | 
 
 
 
 
 | 658 | LLC_STATUS_CHAINED_DIFFERENT_ADAPTERS = 0x5f,LLC_STATUS_INIT_COMMAND_STARTED = 0x60,LLC_STATUS_TOO_MANY_USERS = 0x61, | 
 
 
 
 
 | 659 | LLC_STATUS_CANCELLED_BY_SYSTEM_ACTION = 0x62,LLC_STATUS_DIR_STATIONS_NOT_AVAILABLE = 0x63,LLC_STATUS_NO_GDT_SELECTORS = 0x65, | 
 
 
 
 
 | 660 | LLC_STATUS_MEMORY_LOCK_FAILED = 0x69,LLC_STATUS_INVALID_BUFFER_ADDRESS = 0x80,LLC_STATUS_BUFFER_ALREADY_RELEASED = 0x81, | 
 
 
 
 
 | 661 | LLC_STATUS_BIND_ERROR = 0xA0,LLC_STATUS_INVALID_VERSION = 0xA1,LLC_STATUS_NT_ERROR_STATUS = 0xA2,LLC_STATUS_PENDING = 0xFF | 
 
 
 
 
 | 662 | } LLC_STATUS; | 
 
 
 
 
 | 663 |  | 
 
 
 
 
 | 664 | #define LLC_STATUS_MAX_ERROR 0xFF | 
 
 
 
 
 | 665 |  | 
 
 
 
 
 | 666 | typedef enum { | 
 
 
 
 
 | 667 | ACSLAN_STATUS_COMMAND_ACCEPTED = 0,ACSLAN_STATUS_INVALID_CCB_POINTER = 1,ACSLAN_STATUS_CCB_IN_ERROR = 2,ACSLAN_STATUS_CHAINED_CCB_IN_ERROR = 3, | 
 
 
 
 
 | 668 | ACSLAN_STATUS_SYSTEM_ERROR = 4,ACSLAN_STATUS_SYSTEM_STATUS = 5,ACSLAN_STATUS_INVALID_COMMAND = 6 | 
 
 
 
 
 | 669 | } ACSLAN_STATUS; | 
 
 
 
 
 | 670 |  | 
 
 
 
 
 | 671 | ACSLAN_STATUS WINAPI AcsLan(PLLC_CCB pCcb,PLLC_CCB *ppBadCcb); | 
 
 
 
 
 | 672 | LLC_STATUS WINAPI GetAdapterNameFromNumber(UINT AdapterNumber,LPTSTR pNdisName); | 
 
 
 
 
 | 673 | LLC_STATUS WINAPI GetAdapterNumberFromName(LPTSTR pNdisName,UINT *AdapterNumber); | 
 
 
 
 
 | 674 |  | 
 
 
 
 
 | 675 | #ifdef __cplusplus | 
 
 
 
 
 | 676 | } | 
 
 
 
 
 | 677 | #endif | 
 
 
 
 
 | 678 | #endif |