Platform SDK: Windows Sockets |
/* * 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; that is, the number digit that would be entered first is located in addr. Digits are coded in IA5 characters. Bit 8 is set to zero.
For ATM_NSAP, code the address using Binary Coded Decimal (BCD) as defined in the ATM Forum UNI 3.1. The NumofDigits field are 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 an NSAP-style ATM Endsystem Address and the selector octet is set as a wildcard. SAP_FIELD_ANY_AESA_REST means that this is an NSAP-style ATM Endsystem Address and all the octets except for the selector octet are set as wildcards.