The ATM_BHLI structure and associated manifest constants

/* 
 *  values used for the HighLayerInfoType field in struct ATM_BHLI
 */
#define BHLI_ISO                   0x00   /* ISO                                 */
#define BHLI_UserSpecific          0x01   /* User Specific                       */
#define BHLI_HighLayerProfile      0x02   /* High layer profile (only in UNI3.0) */
#define BHLI_VendorSpecificAppId   0x03   /* Vendor-Specific Application ID      */

typedef struct {
    DWORD HighLayerInfoType;          /* High Layer Information Type      */
    DWORD HighLayerInfoLength;        /* number of bytes in HighLayerInfo */
    UCHAR HighLayerInfo[8];           /* the value dependent on the       */
                                      /*   HighLayerInfoType field        */
} ATM_BHLI;
 

Parameters

HighLayerInfoType
Identifies the high layer information type field in the B-LLI information element. Note that the type BHLI_HighLayerProfile has been eliminated in UNI 3.1. A value of "SAP_FIELD_ABSENT" indicates that B-HLI is not present, and a value of "SAP_FIELD_ANY" means wildcard.
HighLayerInfoLength
Identifies the number of bytes from 1 to 8 in the HighLayerInfo array. Valid values include 8 for the cases of BHLI_ISO and BHLI_UserSpecific, 4 for BHLI_HighLayerProfile, and 7 for BHLI_VendorSpecificAppId.
HighLayerInfo
Identifies the high layer information field in the B-LLI information element. In the case HighLayerInfoType being BHLI_VendorSpecificAppId, the first three bytes consist of a globally-administered Organizationally Unique Identifier (OUI)(as per IEEE standard 802-1990), followed by a four-byte application identifier, which is administered by the vendor identified by the OUI. Value for the case of BHLI_UserSpecific is user defined and requires bilateral agreement between two end users.