/*
* values used for AddressType in struct ATM_ADDRESS
*/
#define ATM_E164 0x01 /* E.164 addressing scheme */
#define ATM_NSAP 0x02 /* NSAP-style ATM Endsystem Address scheme */
#define ATM_AESA 0x02 /* NSAP-style ATM Endsystem Address scheme */
typedef struct {
DWORD AddressType; /* E.164 or NSAP-style ATM Endsystem Address */
DWORD NumofDigits; /* number of digits; */
UCHAR Addr[20]; /* IA5 digits for E164, BCD encoding for NSAP */
/* format as defined in the ATM Forum UNI 3.1 */
} ATM_ADDRESS;
For ATM_E164, enter the numbered digits in the same order in which they would be entered on a numeric keypad; i.e., the number digit which would be entered first is located in addr[0]. Digits are coded in IA5 characters. Bit 8 is set to 0.
For ATM_NSAP, code the address using Binary Coded Decimal (BCD) as defined in the ATM Forum UNI 3.1. The NumofDigits field will be ignored in this case, and the NSAP-style address always contains 20 bytes.
A value of "SAP_FIELD_ANY" in AddressType indicates that the satm_number field is a wildcard. There are two more specialized wildcard values: "SAP_FIELD_ANY_AESA_SEL" and "SAP_FIELD_ANY_AESA_REST". "SAP_FIELD_ANY_AESA_SEL" means that this is a NSAP-style ATM Endsystem Address and the selector octet is "wildcarded". "SAP_FIELD_ANY_AESA_REST" means that this is a NSAP-style ATM Endsystem Address and all the octets except for the selector octet are "wildcarded".