Platform SDK: DLC/NetBIOS |
The LLC_CCB structure represents a command control block. You pass a pointer to this structure to the AcsLan function.
typedef struct _LLC_CCB { UCHAR uchAdapterNumber; UCHAR uchDlcCommand; UCHAR uchDlcStatus; UCHAR uchReserved1; struct _LLC_CCB *pNext; ULONG ulCompletionFlag; CCB_PARMS u; HANDLE hCompletionEvent; UCHAR uchReserved2; UCHAR uchReadFlag; USHORT usReserved3 } LLC_CCB, *PLLC_CCB;
Code | Meaning |
---|---|
LLC_BUFFER_CREATE | Creates a new DLC buffer pool and returns its handle. The application must open at least one adapter before it can create the buffer pool. |
LLC_BUFFER_FREE | Returns one or more buffers to the adapter pool. The buffers must have been obtained with the LLC_BUFFER_GET command. |
LLC_BUFFER_GET | Returns the requested buffers. You can retrieve several buffers of the same size or an optimal set of buffers for the specified frame size. |
LLC_DIR_ CLOSE_ADAPTER |
Closes the adapter logically, releasing its resources and canceling any pending commands. Open SAPs or link stations are reset before the completion of this command. Canceled commands return the error code LLC_STATUS_CANCELLED_BY_SYSTEM_ACTION. Functional address bits are reset.
The pNext member receives the address of a queue of CCBs terminated by this command. |
LLC_DIR_CLOSE_DIRECT | Releases ownership of all direct stations. If you use an LLC_READ command to post this command, the system returns the buffers from the direct buffer pool in the parameter table. |
LLC_DIR_INITIALIZE | Resets the network adapter, returns any pending commands, and releases buffer resources. For security reasons, the command resets the adapter physically only if it was not functioning normally when you issued the command. |
LLC_DIR_INTERRUPT | This command does not do anything. No parameter table is required. |
LLC_DIR_OPEN_ADAPTER | Prepares the protocol drivers for network communication. The adapter must be in a logically closed state for this command to succeed. |
LLC_DIR_OPEN_DIRECT | Gives the application ownership of the direct station and enables it to receive frames using the LLC_RECEIVE command. |
LLC_DIR_READ_LOG | Reads and resets the adapter logs. The system transfers the log data to the buffer in the parameter table. |
LLC_DIR_SET_EXCEPTION_FLAGS | Defines user-notification flags so the system notifies the application of exception conditions. |
LLC_DIR_SET_FUNCTIONAL_ADDRESS | Sets or resets the functional addresses for the adapter to receive messages. |
LLC_DIR_SET_GROUP_ADDRESS | Sets or resets the group address for which the adapter will receive messages. Only one application can set a group address for a Token-Ring adapter. This command can fail if the Ethernet adapter does not have an available multicast address. |
LLC_DIR_SET_MULTICAST_ADDRESS | Sets a 48-bit multicast address for the current DLC adapter context. The application must issue this command before it can receive multicasts. This command is supported only on Ethernet networks and is an alternative to the LLC_DIR_SET_GROUP_ADDRESS command. This command can fail if the Ethernet adapter does not have an available multicast address. A value of zero removes the previous multicast address. |
LLC_DIR_STATUS | Reads the general status information. You can issue this command before the LLC_DIR_OPEN_ADAPTER command, but after the LLC_DIR_INITIALIZE command. |
LLC_DIR_TIMER_CANCEL | Cancels a timer that was previously initiated by an LLC_DIR_TIMER_SET command. |
LLC_DIR_TIMER_CANCEL_GROUP | Cancels a group of timer commands that were previously initiated by the LLC_DIR_TIMER_SET command. |
LLC_DIR_TIMER_SET | Initiates a programmable timer to expire after a designated interval. |
LLC_DLC_CLOSE_SAP | Closes a SAP. The SAP cannot close unless all link stations are closed. |
LLC_DLC_CLOSE_STATION | Closes a link station. |
LLC_DLC_CONNECT_STATION | Starts or completes a connection between the local and remote link stations. Both the local station and the remote station must issue the command to establish the connection. |
LLC_DLC_FLOW_CONTROL | Controls the flow of data across a single link station on a SAP or across every link station on a SAP. You should issue this command immediately after a link station enters a local busy state. The driver clears the busy state when there are enough free buffers to receive more frames. |
LLC_DLC_MODIFY | Modifies the work values of an open link station or the default values of a SAP. |
LLC_DLC_OPEN_SAP | Activates a SAP and reserves a number of link stations for the SAP. |
LLC_DLC_OPEN_STATION | Allocates resources for a link station. |
LLC_DLC_REALLOCATE_STATIONS | Reallocates the number of link stations allocated to a SAP. When reducing the number of stations, the command returns the deallocated stations to the adapter pool. When increasing the number of stations, the command assigns new stations from the adapter pool. |
LLC_DLC_RESET | Resets the SAPs and their associated link stations. Affected resources are freed, and pending commands are terminated. |
LLC_DLC_SET_THRESHOLD | Sets a threshold for the SAP or direct station's buffer pool. The application is notified whenever the number of buffers in the pool falls below this threshold. |
LLC_DLC_STATISTICS | Reads and optionally resets the DLC log. The log is transferred to the buffer indicated by the parameter table. |
LLC_READ | Performs a read operation. The operation is complete when the system sets the uchDlcStatus member and the sets the hCompletionEvent event to the signaled state. The data and optional header begin at offset 64. |
LLC_READ_CANCEL | Cancels a pending LLC_READ command for the application. |
LLC_RECEIVE | Receives data. The command fails if the application has not created a buffer pool. |
LLC_RECEIVE_CANCEL | Cancels a pending LLC_RECEIVE command. |
LLC_RECEIVE_MODIFY | Receives data and puts some of it into a user buffer. |
LLC_TRANSMIT_DIR_FRAME | Transmits data to the direct station. |
LLC_TRANSMIT_I_FRAME | Transmits information data to a link station. |
LLC_TRANSMIT_TEST_CMD | Requests the adapter to transmit a test command frame with the poll bit set. You can only use this command with a SAP. |
LLC_TRANSMIT_UI_FRAME | Transmits unnumbered information data for a SAP. You can use this command only with a SAP. |
LLC_TRANSMIT_XID_CMD | Transmits an XID command with the poll bit set on. You can use this command only with a SAP. |
LLC_TRANSMIT_XID_RESP_FINAL | Transmits an XID response with the final bit on. You can only use this command with a SAP opened with SAP options specifying that the application will handle XID commands. |
LLC_TRANSMIT_XID_RESP_NOT_FINAL | Transmits an XID response with the final bit off. You can only use this command with a SAP opened with SAP options specifying that the application will handle XID commands. |
Windows 95/98: The identifier of the application issuing the command. This value is returned by the LLC_DIR_OPEN_ADAPTER command and is used for all subsequent commands.
The uchDlcStatus member receives an LLC_STATUS value representing the command completion code. LLC_STATUS is an enumerated type. The following completion codes are defined:
Code | Name |
---|---|
1 | LLC_STATUS_INVALID_COMMAND |
2 | LLC_STATUS_DUPLICATE_COMMAND |
3 | LLC_STATUS_ADAPTER_OPEN |
4 | LLC_STATUS_ADAPTER_CLOSED |
5 | LLC_STATUS_PARAMETER_MISSING |
6 | LLC_STATUS_INVALID_OPTION |
7 | LLC_STATUS_COMMAND_CANCELLED_FAILURE |
10 | LLC_STATUS_CANCELLED_BY_USER |
12 | LLC_STATUS_SUCCESS_NOT_OPEN |
17 | LLC_STATUS_TIMER_ERROR |
18 | LLC_STATUS_NO_MEMORY |
21 | LLC_STATUS_LOST_LOG_DATA |
22 | LLC_STATUS_BUFFER_SIZE_EXCEEDED |
24 | LLC_STATUS_INVALID_BUFFER_LENGTH |
25 | LLC_STATUS_INADEQUATE_BUFFERS |
26 | LLC_STATUS_USER_LENGTH_TOO_LARGE |
27 | LLC_STATUS_INVALID_PARAMETER_TABLE |
28 | LLC_STATUS_INVALID_POINTER_IN_CCB |
29 | LLC_STATUS_INVALID_ADAPTER |
32 | LLC_STATUS_LOST_DATA_NO_BUFFERS |
33 | LLC_STATUS_LOST_DATA_INADEQUATE_SPACE |
34 | LLC_STATUS_TRANSMIT_ERROR_FS |
35 | LLC_STATUS_TRANSMIT_ERROR |
39 | LLC_STATUS_LINK_NOT_TRANSMITTING |
40 | LLC_STATUS_INVALID_FRAME_LENGTH |
50 | LLC_STATUS_INVALID_NODE_ADDRESS |
51 | LLC_STATUS_INVALID_RCV_BUFFER_LENGTH |
52 | LLC_STATUS_INVALID_XMIT_BUFFER_LENGTH |
64 | LLC_STATUS_INVALID_STATION_ID |
65 | LLC_STATUS_LINK_PROTOCOL_ERROR |
66 | LLC_STATUS_PARMETERS_EXCEEDED_MAX |
67 | LLC_STATUS_INVALID_SAP_VALUE |
68 | LLC_STATUS_INVALID_ROUTING_INFO |
71 | LLC_STATUS_LINK_STATIONS_OPEN |
74 | LLC_STATUS_INCOMPATIBLE_COMMANDS |
77 | LLC_STATUS_CONNECT_FAILED |
79 | LLC_STATUS_INVALID_REMOTE_ADDRESS |
80 | LLC_STATUS_CCB_POINTER_FIELD |
87 | LLC_STATUS_INADEQUATE_LINKS |
88 | LLC_STATUS_INVALID_PARAMETER_1 |
92 | LLC_STATUS_DIRECT_STATIONS_NOT_ASSIGNED |
93 | LLC_STATUS_DEVICE_DRIVER_NOT_INSTALLED |
94 | LLC_STATUS_ADAPTER_NOT_INSTALLED |
95 | LLC_STATUS_CHAINED_DIFFERENT_ADAPTERS |
96 | LLC_STATUS_INIT_COMMAND_STARTED |
98 | LLC_STATUS_CANCELLED_BY_SYSTEM_ACTION |
101 | LLC_STATUS_NO_GDT_SELECTORS |
105 | LLC_STATUS_MEMORY_LOCK_FAILED |
128 | LLC_STATUS_INVALID_BUFFER_ADDRESS |
129 | LLC_STATUS_BUFFER_ALREADY_RELEASED |
161 | LLC_STATUS_INVALID_VERSION |
162 | LLC_STATUS_NT_ERROR_STATUS |
255 | LLC_STATUS_PENDING |
Windows NT/2000: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
Header: Declared in Dlcapi.h.
The DLC Interface Overview, DLC Structures, AcsLan, CCB_PARMS