Platform SDK: DLC/NetBIOS

LLC_DIR_OPEN_DIRECT_PARMS

The LLC_DIR_OPEN_DIRECT_PARMS structure is the DLC parameter table for the LLC_DIR_OPEN_DIRECT command. You pass a pointer to this structure using the pParameterTable member of the CCB_PARMS union.

typedef struct {
  USHORT Reserved[4];
  USHORT usOpenOptions;
  USHORT usEthernetType;
  ULONG ulProtocolTypeMask;
  ULONG ulProtocolTypeMatch;
  USHORT usProtocolTypeOffset;
} LLC_DIR_OPEN_DIRECT_PARMS, *PLLC_DIR_OPEN_DIRECT_PARMS;

Members

Reserved
Reserved.
usOpenOptions
Specifies the options used when the adapter is physically opened. This member is a 16-bit value. Setting the various bits enables different options, as described in the following table.
Bit Description
15 Reserved; should be 0.
14 Disables hard errors.
13 Disables soft errors.
12 Passes, as direct interface data, all adapter-class MAC frames that are received but not supported by the adapter. Otherwise, these frames will be rejected.
11 Passes, as direct interface data, all attention MAC frames that are not the same as the last attention MAC frame received. Otherwise, these frames are ignored, and will not be passed to the workstation.
10 Reserved; should be 0.
9 Reserved; should be 0.
8 Participates in monitor contention. Otherwise, this adapter does not participate.
7 Passes beacon frames to the attached processor.
6 Reserved; should be 0.
5 Reserved; should be 0.
4 Reserved; should be 0.
3 Reserved; should be 0.
2 Reserved; should be 0.
1 Reserved; should be 0.
0 Reserved; should be 0.

usEthernetType
Specifies an LLC_ETHERNET_TYPE value representing the type of Ethernet frame to receive. LLC_ETHERNET_TYPE is an enumerated type. The following values are defined.
Value Meaning
LLC_ETHERNET_TYPE_DEFAULT Use the parameter value set in the registry.
LLC_ETHERNET_TYPE_AUTO Use automatic header type selection for links.
LLC_ETHERNET_TYPE_802_3 Always use 802.3 LAN headers.
LLC_ETHERNET_TYPE_DIX Always use LLC on DIX SNA type.

ulProtocolTypeMask
Specifies a mask used in a bitwise AND operation with the data. The result must be equal to ulProtocolTypeMatch. Otherwise, set this parameter to zero.
ulProtocolTypeMatch
Ignored if ulProtocolTypeMask is zero.
usProtocolTypeOffset
Specifies the distance of the protocol type from the beginning of the protocol header (offset 14 in the frame header). Ignored if ulProtocolTypeMask is zero.

Remarks

After you have issued the LLC_RECEIVE command for the direct station, the application has ownership of the direct station and can receive frames.

Win32 DLC differs from the IBM DLC specification in that you can receive frames of specific Ethernet types using the direct station when the usEthernetType member has a valid Ethernet type.

The ulProtoTypeMask, ulProtocolTypeMatch, and usProtocolTypeOffset members are optional. They specify the protocol type mask, match, and offset, respectively. They receive frames for a particular subprotocol type or socket. That is, the packet is received whenever the following statement is true:

(* (PULONG)((PUCHAR)pFrame + 14 + offset) & mask) == match

Requirements

  Windows NT/2000: Requires Windows NT 3.1 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Dlcapi.h.

See Also

The DLC Interface Overview, DLC Structures, AcsLan, CCB_PARMS