00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
#ifndef _ATM_H_
00028 
#define _ATM_H_
00029 
00030 
00031 
00032 
00033 typedef ULONG   
ATM_ADDRESSTYPE;
00034 
00035 #define ATM_NSAP                                0
00036 #define ATM_E164                                1
00037 
00038 
00039 
00040 
00041 #define ATM_MAC_ADDRESS_LENGTH  6               // Same as 802.x
00042 #define ATM_ADDRESS_LENGTH              20
00043 
00044 
00045 
00046 
00047 #define ATM_ADDR_BLANK_CHAR                             L' '
00048 #define ATM_ADDR_PUNCTUATION_CHAR               L'.'
00049 #define ATM_ADDR_E164_START_CHAR                L'+'
00050 
00051 
typedef struct _ATM_ADDRESS
00052 {
00053         ATM_ADDRESSTYPE                         AddressType;
00054         ULONG                                           
NumberOfDigits;
00055         UCHAR                                           
Address[
ATM_ADDRESS_LENGTH];
00056 } 
ATM_ADDRESS, *
PATM_ADDRESS;
00057 
00058 
00059 
00060 
00061 
00062 
00063 #define AAL_TYPE_AAL0                   1
00064 #define AAL_TYPE_AAL1                   2
00065 #define AAL_TYPE_AAL34                  4
00066 #define AAL_TYPE_AAL5                   8
00067 
00068 typedef ULONG   
ATM_AAL_TYPE, *
PATM_AAL_TYPE;
00069 
00070 
00071 
00072 
00073 
00074 #define ATM_IE_RESPONSE_FLAG            0x80000000
00075 #define ATM_IE_EMPTY_FLAG                       0x40000000
00076 
00077 
00078 
00079 
00080 
00081 typedef enum
00082 {
00083         
00084         
IE_AALParameters,
00085         
IE_TrafficDescriptor,
00086         
IE_BroadbandBearerCapability,
00087         
IE_BHLI,
00088         
IE_BLLI,
00089         
IE_CalledPartyNumber,
00090         
IE_CalledPartySubaddress,
00091         
IE_CallingPartyNumber,
00092         
IE_CallingPartySubaddress,
00093         
IE_Cause,
00094         
IE_QOSClass,
00095         
IE_TransitNetworkSelection,
00096         
IE_BroadbandSendingComplete,
00097         
IE_LIJCallId,
00098         
IE_Raw,
00099 
#ifdef MS_UNI4
00100 
        IE_TrafficDescriptor_AddOn,
00101         IE_BroadbandBearerCapability_Uni40,
00102         IE_BLLI_AddOn,
00103         IE_ConnectionId,
00104         IE_NotificationIndicator,
00105         IE_MinimumTrafficDescriptor,
00106         IE_AlternativeTrafficDescriptor,
00107         IE_ExtendedQOS,
00108         IE_EndToEndTransitDelay,
00109         IE_ABRSetupParameters,
00110         IE_ABRAdditionalParameters,
00111         IE_LIJParameters,
00112         IE_LeafSequenceNumber,
00113         IE_ConnectionScopeSelection,
00114         IE_UserUser,
00115         IE_GenericIDTransport,
00116         IE_ConnectedNumber,                                     
00117         IE_ConnectedSubaddress,                 
00118 
#endif // MS_UNI4
00119 
        
00120         
IE_NextRequest,                                         
00121 
00122         
00123         
IE_Cause_Empty                                          = 
IE_Cause                                      | 
ATM_IE_EMPTY_FLAG,
00124 
#ifdef MS_UNI4
00125 
        IE_ConnectionId_Empty                           = IE_ConnectionId                       | 
ATM_IE_EMPTY_FLAG,
00126         IE_ConnectedNumber_Empty                        = IE_ConnectedNumber            | 
ATM_IE_EMPTY_FLAG,
00127         IE_ConnectedSubaddress_Empty            = IE_ConnectedSubaddress        | 
ATM_IE_EMPTY_FLAG,
00128         IE_NotificationIndicator_Empty          = IE_NotificationIndicator      | 
ATM_IE_EMPTY_FLAG,
00129         IE_UserUser_Empty                                       = IE_UserUser                           | 
ATM_IE_EMPTY_FLAG,
00130         IE_GenericIDTransport_Empty                     = IE_GenericIDTransport         | 
ATM_IE_EMPTY_FLAG,
00131 
#endif // MS_UNI4
00132 
00133         
00134         
IE_Cause_Response                                       = 
IE_Cause                                      | 
ATM_IE_RESPONSE_FLAG,
00135         
IE_AALParameters_Response                       = 
IE_AALParameters                      | 
ATM_IE_RESPONSE_FLAG,
00136         
IE_BLLI_Response                                        = 
IE_BLLI                                       | 
ATM_IE_RESPONSE_FLAG,
00137 
#ifdef MS_UNI4
00138 
        IE_BLLI_AddOn_Response                          = IE_BLLI_AddOn                         | 
ATM_IE_RESPONSE_FLAG,
00139         IE_TrafficDescriptor_Response           = 
IE_TrafficDescriptor          | 
ATM_IE_RESPONSE_FLAG,
00140         IE_TrafficDescriptor_AddOn_Response     = IE_TrafficDescriptor_AddOn| 
ATM_IE_RESPONSE_FLAG,
00141         IE_ConnectionId_Response                        = IE_ConnectionId                       | 
ATM_IE_RESPONSE_FLAG,
00142         IE_NotificationIndicator_Response       = IE_NotificationIndicator      | 
ATM_IE_RESPONSE_FLAG,
00143         IE_ExtendedQOS_Response                         = IE_ExtendedQOS                        | 
ATM_IE_RESPONSE_FLAG,
00144         IE_EndToEndTransitDelay_Response        = IE_EndToEndTransitDelay       | 
ATM_IE_RESPONSE_FLAG,
00145         IE_ABRSetupParameters_Response          = IE_ABRSetupParameters         | 
ATM_IE_RESPONSE_FLAG,
00146         IE_ABRAdditionalParameters_Response     = IE_ABRAdditionalParameters| 
ATM_IE_RESPONSE_FLAG,
00147         IE_ConnectedNumber_Response                     = IE_ConnectedNumber            | 
ATM_IE_RESPONSE_FLAG,
00148         IE_ConnectedSubaddress_Response         = IE_ConnectedSubaddress        | 
ATM_IE_RESPONSE_FLAG,
00149         IE_UserUser_Response                            = IE_UserUser                           | 
ATM_IE_RESPONSE_FLAG,
00150         IE_GenericIDTransport_Response          = IE_GenericIDTransport         | 
ATM_IE_RESPONSE_FLAG,
00151 
#endif // MS_UNI4
00152 
} 
Q2931_IE_TYPE;
00153 
00154 
00155 
00156 
00157 
00158 
00159 
typedef struct _Q2931_IE
00160 {
00161         Q2931_IE_TYPE                           IEType;
00162         ULONG                                           
IELength;       
00163         UCHAR                                           
IE[1];
00164 } 
Q2931_IE, *
PQ2931_IE;
00165 
00166 
00167 
00168 
00169 
00170 #define SAP_TYPE_NSAP                   0x00000001
00171 #define SAP_TYPE_E164                   0x00000002
00172 
00173 
00174 
00175 
00176 #define AAL5_MODE_MESSAGE                       0x01
00177 #define AAL5_MODE_STREAMING                     0x02
00178 
00179 
00180 
00181 
00182 #define AAL5_SSCS_NULL                          0x00
00183 #define AAL5_SSCS_SSCOP_ASSURED         0x01
00184 #define AAL5_SSCS_SSCOP_NON_ASSURED     0x02
00185 #define AAL5_SSCS_FRAME_RELAY           0x04
00186 
00187 
00188 
00189 
00190 
00191 
typedef struct _AAL1_PARAMETERS
00192 {
00193         UCHAR                                           
Subtype;
00194         UCHAR                                           
CBRRate;
00195         USHORT                                          Multiplier;                                                     
00196         UCHAR                                           
SourceClockRecoveryMethod;                      
00197         UCHAR                                           
ErrorCorrectionMethod;                          
00198         USHORT                                          StructuredDataTransferBlocksize;        
00199         UCHAR                                           
PartiallyFilledCellsMethod;                     
00200 } 
AAL1_PARAMETERS, *
PAAL1_PARAMETERS;
00201 
00202 
typedef struct _AAL34_PARAMETERS
00203 {
00204         USHORT                                          ForwardMaxCPCSSDUSize;
00205         USHORT                                          BackwardMaxCPCSSDUSize;
00206         USHORT                                          LowestMID;                                      
00207         USHORT                                          HighestMID;                                     
00208         UCHAR                                           
SSCSType;                                       
00209 } 
AAL34_PARAMETERS, *
PAAL34_PARAMETERS;
00210 
00211 
typedef struct _AAL5_PARAMETERS
00212 {
00213         ULONG                                           
ForwardMaxCPCSSDUSize;
00214         ULONG                                           
BackwardMaxCPCSSDUSize;
00215         UCHAR                                           
Mode;
00216         UCHAR                                           
SSCSType;                                       
00217 } 
AAL5_PARAMETERS, *
PAAL5_PARAMETERS;
00218 
00219 
typedef struct _AALUSER_PARAMETERS
00220 {
00221         ULONG                                           
UserDefined;
00222 } 
AALUSER_PARAMETERS, *
PAALUSER_PARAMETERS;
00223 
00224 
typedef struct _AAL_PARAMETERS_IE
00225 {
00226         ATM_AAL_TYPE                            AALType;
00227         
union
00228 
        {
00229                 AAL1_PARAMETERS                 AAL1Parameters;
00230                 AAL34_PARAMETERS                AAL34Parameters;
00231                 AAL5_PARAMETERS                 AAL5Parameters;
00232                 AALUSER_PARAMETERS              AALUserParameters;
00233         } AALSpecificParameters;
00234 
00235 } 
AAL_PARAMETERS_IE, *
PAAL_PARAMETERS_IE;
00236 
00237 
00238 
00239 
00240 
typedef struct _ATM_TRAFFIC_DESCRIPTOR  
00241 {
00242         ULONG                                           
PeakCellRateCLP0;                       
00243         ULONG                                           
PeakCellRateCLP01;                      
00244         ULONG                                           
SustainableCellRateCLP0;        
00245         ULONG                                           
SustainableCellRateCLP01;       
00246         ULONG                                           
MaximumBurstSizeCLP0;           
00247         ULONG                                           
MaximumBurstSizeCLP01;          
00248         BOOLEAN                                         
Tagging;
00249 } 
ATM_TRAFFIC_DESCRIPTOR, *
PATM_TRAFFIC_DESCRIPTOR;
00250 
00251 
00252 
typedef struct _ATM_TRAFFIC_DESCRIPTOR_IE
00253 {
00254         ATM_TRAFFIC_DESCRIPTOR          ForwardTD;
00255         ATM_TRAFFIC_DESCRIPTOR          BackwardTD;
00256         BOOLEAN                                         
BestEffort;
00257 } 
ATM_TRAFFIC_DESCRIPTOR_IE, *
PATM_TRAFFIC_DESCRIPTOR_IE;
00258 
00259 
00260 
#ifdef MS_UNI4
00261 
00262 
00263 
00264 
00265 
00266 
typedef struct _ATM_TRAFFIC_DESCRIPTOR_ADDON    
00267 {
00268         ULONG                                           ABRMinimumCellRateCLP01;        
00269         BOOLEAN                                         FrameDiscard;
00270 } ATM_TRAFFIC_DESCRIPTOR_ADDON, *PATM_TRAFFIC_DESCRIPTOR_ADDON;
00271 
00272 
00273 
typedef struct _ATM_TRAFFIC_DESCRIPTOR_IE_ADDON
00274 {
00275         ATM_TRAFFIC_DESCRIPTOR_ADDON            ForwardTD;
00276         ATM_TRAFFIC_DESCRIPTOR_ADDON            BackwardTD;
00277 } ATM_TRAFFIC_DESCRIPTOR_IE_ADDON, *PATM_TRAFFIC_DESCRIPTOR_IE_ADDON;
00278 
00279 
#endif // MS_UNI4
00280 
00281 
00282 
#ifdef MS_UNI4
00283 
00284 
00285 
00286 
typedef struct ATM_ALTERNATIVE_TRAFFIC_DESCRIPTOR_IE
00287 {
00288         
ATM_TRAFFIC_DESCRIPTOR_IE                       Part1;
00289         ATM_TRAFFIC_DESCRIPTOR_IE_ADDON         Part2;
00290 } ATM_ALTERNATIVE_TRAFFIC_DESCRIPTOR_IE, *PATM_ALTERNATIVE_TRAFFIC_DESCRIPTOR_IE;
00291 
00292 
#endif // MS_UNI4
00293 
00294 
00295 
#ifdef MS_UNI4
00296 
00297 
00298 
00299 
typedef struct _ATM_MINIMUM_TRAFFIC_DESCRIPTOR  
00300 {
00301         ULONG                                           PeakCellRateCLP0;                       
00302         ULONG                                           PeakCellRateCLP01;                      
00303         ULONG                                           MinimumCellRateCLP01;           
00304 } ATM_MINIMUM_TRAFFIC_DESCRIPTOR, *PATM_MINIMUM_TRAFFIC_DESCRIPTOR;
00305 
00306 
00307 
typedef struct _ATM_MINIMUM_TRAFFIC_DESCRIPTOR_IE
00308 {
00309         ATM_MINIMUM_TRAFFIC_DESCRIPTOR          ForwardTD;
00310         ATM_MINIMUM_TRAFFIC_DESCRIPTOR          BackwardTD;
00311 } ATM_MINIMUM_TRAFFIC_DESCRIPTOR_IE, *PATM_MINIMUM_TRAFFIC_DESCRIPTOR_IE;
00312 
00313 
#endif // MS_UNI4
00314 
00315 
00316 
00317 
00318 
00319 
00320 
00321 
00322 #define BCOB_A                                  0x00    // Bearer class A
00323 #define BCOB_C                                  0x01    // Bearer class C
00324 #define BCOB_X                                  0x02    // Bearer class X
00325 
#ifdef MS_UNI4_NOT_USED
00326 
#define BCOB_VP_SERVICE                 0x03    // VP service
00327 
#endif
00328 
00329 
00330 
00331 
00332 #define TT_NOIND                                0x00    // No indication of traffic type
00333 #define TT_CBR                                  0x04    // Constant bit rate
00334 
#ifdef MS_UNI3_ERROR_KEPT
00335 
#define TT_VBR                                  0x06    // Variable bit rate
00336 
#else
00337 #define TT_VBR                                  0x08    // Variable bit rate
00338 
#endif
00339 
00340 
00341 
00342 
00343 #define TR_NOIND                                0x00    // No timing requirement indication
00344 #define TR_END_TO_END                   0x01    // End-to-end timing required
00345 #define TR_NO_END_TO_END                0x02    // End-to-end timing not required
00346 
00347 
00348 
00349 
00350 
00351 #define CLIP_NOT                                0x00    // Not susceptible to clipping
00352 #define CLIP_SUS                                0x20    // Susceptible to clipping
00353 
00354 
00355 
00356 
00357 
00358 
00359 #define UP_P2P                                  0x00    // Point-to-point connection
00360 #define UP_P2MP                                 0x01    // Point-to-multipoint connection
00361 
00362 
00363 
00364 
00365 
00366 
typedef struct _ATM_BROADBAND_BEARER_CAPABILITY_IE
00367 {
00368         UCHAR                   
BearerClass;
00369         UCHAR                   
TrafficType;
00370         UCHAR                   
TimingRequirements;
00371         UCHAR                   
ClippingSusceptability;
00372         UCHAR                   
UserPlaneConnectionConfig;
00373 } 
ATM_BROADBAND_BEARER_CAPABILITY_IE, *
PATM_BROADBAND_BEARER_CAPABILITY_IE;
00374 
00375 
00376 
#ifdef MS_UNI4
00377 
00378 
00379 
00380                                                                         
00381                                                                         
00382                                                                         
00383 
#define XCAP_NRT_VBR_RCV_0      0x00    // Only rcv                             NOIND           NOIND      
00384 
#define XCAP_RT_VBR_RCV_1       0x01    // Only rcv                             NOIND           END_TO_END
00385 
#define XCAP_NRT_VBR_RCV_2      0x02    // Only rcv                             NOIND           NO_END_TO_END
00386 
#define XCAP_CBR_RCV_4          0x04    // Only rcv                             CBR                     NOIND      
00387 
#define XCAP_CBR                        0x05    //                                              CBR                     END_TO_END
00388 
#define XCAP_CBR_RCV_6          0x06    // Only rcv                             CBR                     NO_END_TO_END
00389 
#define XCAP_CBR_W_CLR          0x07    //                              None    CBR                     <reserved>
00390 
#define XCAP_NRT_VBR_RCV_8      0x08    // Only rcv                             VBR                     NOIND      
00391 
#define XCAP_RT_VBR                     0x09    //                                              VBR                     END_TO_END
00392 
#define XCAP_NRT_VBR            0x0A    //                                              VBR                     NO_END_TO_END
00393 
#define XCAP_NRT_VBR_W_CLR      0x0B    //                              None    VBR                     <reserved>
00394 
#define XCAP_ABR                        0x0C    //                              None    <reserved>      NOIND      
00395 
#define XCAP_RT_VBR_W_CLR       0x13    //                              None    (NOIND) <reserved>
00396 
00397 
00398 
00399 
00400 
00401 
typedef struct _ATM_BROADBAND_BEARER_CAPABILITY_IE_UNI40
00402 {
00403         UCHAR                   BearerClass;
00404         UCHAR                   TransferCapability;                             
00405         UCHAR                   ClippingSusceptability;
00406         UCHAR                   UserPlaneConnectionConfig;
00407 } ATM_BROADBAND_BEARER_CAPABILITY_IE_UNI40, *PATM_BROADBAND_BEARER_CAPABILITY_IE_UNI40;
00408 
#endif // MS_UNI4
00409 
00410 
00411 
00412 
00413 
00414 #define BHLI_ISO                                0x00    // ISO
00415 #define BHLI_UserSpecific               0x01    // User Specific
00416 #define BHLI_HighLayerProfile   0x02    // High layer profile (only in UNI3.0)
00417 #define BHLI_VendorSpecificAppId 0x03   // Vendor-Specific Application ID
00418 
00419 
00420 
00421 
00422 
typedef struct _ATM_BHLI_IE
00423 {
00424         ULONG                   
HighLayerInfoType;              
00425         ULONG                   
HighLayerInfoLength;    
00426         UCHAR                   
HighLayerInfo[8];               
00427                                                                                         
00428 } 
ATM_BHLI_IE, *
PATM_BHLI_IE;
00429 
00430 
00431 
00432 
00433 #define BLLI_L2_ISO_1745                0x01    // Basic mode ISO 1745
00434 #define BLLI_L2_Q921                    0x02    // CCITT Rec. Q.921
00435 #define BLLI_L2_X25L                    0x06    // CCITT Rec. X.25, link layer
00436 #define BLLI_L2_X25M                    0x07    // CCITT Rec. X.25, multilink
00437 #define BLLI_L2_ELAPB                   0x08    // Extended LAPB; for half duplex operation
00438 
#ifdef MS_UNI3_ERROR_KEPT
00439 
#define BLLI_L2_HDLC_NRM                0x09    // HDLC NRM (ISO 4335)
00440 
#define BLLI_L2_HDLC_ABM                0x0A    // HDLC ABM (ISO 4335)
00441 
#define BLLI_L2_HDLC_ARM                0x0B    // HDLC ARM (ISO 4335)
00442 
#else
00443 #define BLLI_L2_HDLC_ARM                0x09    // HDLC ARM (ISO 4335)
00444 #define BLLI_L2_HDLC_NRM                0x0A    // HDLC NRM (ISO 4335)
00445 #define BLLI_L2_HDLC_ABM                0x0B    // HDLC ABM (ISO 4335)
00446 
#endif
00447 #define BLLI_L2_LLC                             0x0C    // LAN logical link control (ISO 8802/2)
00448 #define BLLI_L2_X75                             0x0D    // CCITT Rec. X.75, single link procedure
00449 #define BLLI_L2_Q922                    0x0E    // CCITT Rec. Q.922
00450 #define BLLI_L2_USER_SPECIFIED  0x10    // User Specified
00451 #define BLLI_L2_ISO_7776                0x11    // ISO 7776 DTE-DTE operation
00452 
00453 
00454 
00455 
00456 #define BLLI_L3_X25                             0x06    // CCITT Rec. X.25, packet layer
00457 #define BLLI_L3_ISO_8208                0x07    // ISO/IEC 8208 (X.25 packet layer for DTE
00458 #define BLLI_L3_X223                    0x08    // X.223/ISO 8878
00459 #define BLLI_L3_SIO_8473                0x09    // ISO/IEC 8473 (OSI connectionless)
00460 #define BLLI_L3_T70                             0x0A    // CCITT Rec. T.70 min. network layer
00461 #define BLLI_L3_ISO_TR9577              0x0B    // ISO/IEC TR 9577 Network Layer Protocol ID
00462 #define BLLI_L3_USER_SPECIFIED  0x10    // User Specified
00463 
#ifdef MS_UNI4
00464 
#define BLLI_L3_H310                    0x0C    // ITU H.310
00465 
#define BLLI_L3_H321                    0x0D    // ITU H.321
00466 
#endif // MS_UNI4
00467 
00468 
00469 
00470 
00471 #define BLLI_L3_IPI_SNAP                0x80    // IEEE 802.1 SNAP identifier
00472 #define BLLI_L3_IPI_IP                  0xCC    // Internet Protocol (IP) identifier
00473 
00474 
00475 
00476 
00477 
typedef struct _ATM_BLLI_IE
00478 {
00479         ULONG                                           
Layer2Protocol;
00480         UCHAR                                           
Layer2Mode;
00481         UCHAR                                           
Layer2WindowSize;
00482         ULONG                                           
Layer2UserSpecifiedProtocol;
00483         ULONG                                           
Layer3Protocol;
00484         UCHAR                                           
Layer3Mode;
00485         UCHAR                                           
Layer3DefaultPacketSize;
00486         UCHAR                                           
Layer3PacketWindowSize;
00487         ULONG                                           
Layer3UserSpecifiedProtocol;
00488         ULONG                                           
Layer3IPI;
00489         UCHAR                                           
SnapId[5];
00490 } 
ATM_BLLI_IE, *
PATM_BLLI_IE;
00491 
00492 
00493 
#ifdef MS_UNI4
00494 
00495 
00496 
00497 
00498 
#define BLLI_L3_H310_TT_RECEIVE_ONLY            0x01
00499 
#define BLLI_L3_H310_TT_SEND_ONLY                       0x02
00500 
#define BLLI_L3_H310_TT_RECEIVE_AND_SEND        0x03
00501 
00502 
00503 
00504 
00505 
00506 
00507 
#define BLLI_L3_H310_MUX_NONE                                           0x00
00508 
#define BLLI_L3_H310_MUX_TRANSPORT_STREAM                       0x01
00509 
#define BLLI_L3_H310_MUX_TRANSPORT_STREAM_WITH_FEC      0x02
00510 
#define BLLI_L3_H310_MUX_PROGRAM_STREAM                         0x03
00511 
#define BLLI_L3_H310_MUX_PROGRAM_STREAM_WITH_FEC        0x04
00512 
#define BLLI_L3_H310_MUX_H221                                           0x05
00513 
00514 
00515 
00516 
00517 
00518 
00519 
00520 
typedef struct _ATM_BLLI_IE_ADDON
00521 {
00522         UCHAR                                           Layer3H310TerminalType;                                         
00523         UCHAR                                           Layer3H310ForwardMultiplexingCapability;        
00524         UCHAR                                           Layer3H310BackwardMultiplexingCapability;       
00525 } ATM_BLLI_IE_ADDON, *PATM_BLLI_IE_ADDON;
00526 
00527 
#endif // MS_UNI4
00528 
00529 
00530 
00531 
00532 
00533 
00534 #define CALLING_NUMBER_PRESENTATION_ALLOWED                     0x00
00535 #define CALLING_NUMBER_PRESENTATION_RESTRICTED          0x01
00536 #define CALLING_NUMBER_PRESENTATION_NOT_AVAIL           0x02
00537 #define CALLING_NUMBER_PRESENTATION_RESERVED            0x03
00538 
00539 
00540 
00541 
00542 
00543 #define CALLING_NUMBER_SCREENING_USER_PROVIDED_NOT_SCREENED             0x00
00544 #define CALLING_NUMBER_SCREENING_USER_PROVIDED_PASSED_SCREENING 0x01
00545 #define CALLING_NUMBER_SCREENING_USER_PROVIDED_FAILED_SCREENING 0x02
00546 #define CALLING_NUMBER_SCREENING_NW_PROVIDED                                    0x03
00547 
00548 
00549 
00550 
00551 
00552 
00553 
00554 
00555 typedef ATM_ADDRESS     ATM_CALLED_PARTY_NUMBER_IE;
00556 
00557 
00558 
00559 
00560 
00561 typedef ATM_ADDRESS     ATM_CALLED_PARTY_SUBADDRESS_IE;
00562 
00563 
00564 
00565 
00566 
00567 
00568 
typedef struct _ATM_CALLING_PARTY_NUMBER_IE
00569 {
00570         ATM_ADDRESS                                     Number;
00571         UCHAR                                           
PresentationIndication;         
00572         UCHAR                                           
ScreeningIndicator;                     
00573 } 
ATM_CALLING_PARTY_NUMBER_IE, *
PATM_CALLING_PARTY_NUMBER_IE;
00574 
00575 
00576 
00577 
00578 
00579 typedef ATM_ADDRESS     ATM_CALLING_PARTY_SUBADDRESS_IE;
00580 
00581 
00582 
#ifdef MS_UNI4
00583 
00584 
00585 
00586 
typedef ATM_CALLING_PARTY_NUMBER_IE ATM_CONNECTED_NUMBER_IE, *PATM_CONNECTED_NUMBER_IE;
00587 
00588 
00589 
00590 
00591 
00592 
typedef ATM_CALLING_PARTY_SUBADDRESS_IE ATM_CONNECTED_SUBADDRESS_IE, *PATM_CONNECTED_SUBADDRESS_IE;
00593 
00594 
#endif // MS_UNI4
00595 
00596 
00597 
00598 
00599 
00600 
00601 #define QOS_CLASS0                              0x00
00602 #define QOS_CLASS1                              0x01
00603 #define QOS_CLASS2                              0x02
00604 #define QOS_CLASS3                              0x03
00605 #define QOS_CLASS4                              0x04
00606 
00607 
00608 
00609 
00610 
typedef struct _ATM_QOS_CLASS_IE
00611 {
00612         UCHAR                                           
QOSClassForward;
00613         UCHAR                                           
QOSClassBackward;
00614 } 
ATM_QOS_CLASS_IE, *
PATM_QOS_CLASS_IE;
00615 
00616 
00617 
#ifdef MS_UNI4
00618 
00619 
00620 
00621 
#define ATM_XQOS_ORIGINATING_USER       0x00
00622 
#define ATM_XQOS_INTERMEDIATE_NW        0x01
00623 
00624 
00625 
00626 
00627 
typedef struct _ATM_EXTENDED_QOS_PARAMETERS_IE
00628 {
00629         UCHAR                                           Origin;
00630         UCHAR                                           Filler[3];
00631         ULONG                                           AcceptableForwardPeakCDV;       
00632         ULONG                                           AcceptableBackwardPeakCDV;      
00633         ULONG                                           CumulativeForwardPeakCDV;       
00634         ULONG                                           CumulativeBackwardPeakCDV;      
00635         UCHAR                                           AcceptableForwardCLR;           
00636         UCHAR                                           AcceptableBackwardCLR;          
00637 } ATM_EXTENDED_QOS_PARAMETERS_IE, *PATM_EXTENDED_QOS_PARAMETERS_IE;
00638 
00639 
#endif // MS_UNI4
00640 
00641 
00642 
00643 
00644 
00645 
typedef struct _ATM_BROADBAND_SENDING_COMPLETE_IE
00646 {
00647         UCHAR                                           
SendingComplete;
00648 } 
ATM_BROADBAND_SENDING_COMPLETE_IE, *
PATM_BROADBAND_SENDING_COMPLETE_IE;
00649 
00650 
00651 
00652 
00653 
00654 #define TNS_TYPE_NATIONAL                       0x40
00655 
00656 
00657 
00658 
00659 #define TNS_PLAN_CARRIER_ID_CODE        0x01
00660 
00661 
00662 
00663 
00664 
typedef struct _ATM_TRANSIT_NETWORK_SELECTION_IE
00665 {
00666         UCHAR                                           
TypeOfNetworkId;
00667         UCHAR                                           
NetworkIdPlan;
00668         UCHAR                                           
NetworkIdLength;
00669         UCHAR                                           
NetworkId[1];
00670 } 
ATM_TRANSIT_NETWORK_SELECTION_IE, *
PATM_TRANSIT_NETWORK_SELECTION_IE;
00671 
00672 
00673 
00674 
00675 
00676 #define ATM_CAUSE_LOC_USER                                                      0x00
00677 #define ATM_CAUSE_LOC_PRIVATE_LOCAL                                     0x01
00678 #define ATM_CAUSE_LOC_PUBLIC_LOCAL                                      0x02
00679 #define ATM_CAUSE_LOC_TRANSIT_NETWORK                           0x03
00680 #define ATM_CAUSE_LOC_PUBLIC_REMOTE                                     0x04
00681 #define ATM_CAUSE_LOC_PRIVATE_REMOTE                            0x05
00682 
#ifdef MS_UNI3_ERROR_KEPT
00683 
#define ATM_CAUSE_LOC_INTERNATIONAL_NETWORK                     0x06
00684 
#else
00685 #define ATM_CAUSE_LOC_INTERNATIONAL_NETWORK                     0x07
00686 
#endif
00687 #define ATM_CAUSE_LOC_BEYOND_INTERWORKING                       0x0A
00688 
00689 
00690 
00691 
00692 
#ifdef MS_UNI4
00693 
#define ATM_CAUSE_UNALLOCATED_NUMBER                            0x01
00694 
#define ATM_CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK           0x02
00695 
#define ATM_CAUSE_NO_ROUTE_TO_DESTINATION                       0x03
00696 
#define ATM_CAUSE_SEND_SPECIAL_TONE                                     0x04    // UNI 4.0+
00697 
#define ATM_CAUSE_MISDIALLED_TRUNK_PREFIX                       0x05    // UNI 4.0+
00698 
#define ATM_CAUSE_CHANNEL_UNACCEPTABLE                          0x06    // UNI 4.0+
00699 
#define ATM_CAUSE_CALL_AWARDED_IN_EST_CHAN                      0x07    // UNI 4.0+
00700 
#define ATM_CAUSE_PREEMPTION                                            0x08    // UNI 4.0+
00701 
#define ATM_CAUSE_PREEMPTION_CIRC_RES_REUSE                     0x09    // UNI 4.0+
00702 
#define ATM_CAUSE_VPI_VCI_UNACCEPTABLE                          0x0A    // UNI 3.0 only!
00703 
#define ATM_CAUSE_NORMAL_CALL_CLEARING                          0x10    // UNI 3.1+
00704 
#define ATM_CAUSE_USER_BUSY                                                     0x11
00705 
#define ATM_CAUSE_NO_USER_RESPONDING                            0x12
00706 
#define ATM_CAUSE_NO_ANSWER_FROM_USER_ALERTED           0x13    // UNI 4.0+
00707 
#define ATM_CAUSE_SUBSCRIBER_ABSENT                                     0x14    // UNI 4.0+
00708 
#define ATM_CAUSE_CALL_REJECTED                                         0x15
00709 
#define ATM_CAUSE_NUMBER_CHANGED                                        0x16
00710 
#define ATM_CAUSE_USER_REJECTS_CLIR                                     0x17
00711 
#define ATM_CAUSE_NONSELECTED_USER_CLEARING                     0x1A    // UNI 4.0+
00712 
#define ATM_CAUSE_DESTINATION_OUT_OF_ORDER                      0x1B
00713 
#define ATM_CAUSE_INVALID_NUMBER_FORMAT                         0x1C
00714 
#define ATM_CAUSE_FACILITY_REJECTED                                     0x1D    // UNI 4.0+
00715 
#define ATM_CAUSE_STATUS_ENQUIRY_RESPONSE                       0x1E
00716 
#define ATM_CAUSE_NORMAL_UNSPECIFIED                            0x1F
00717 
#define ATM_CAUSE_TOO_MANY_ADD_PARTY                            0x20    // UNI 4.0+
00718 
#define ATM_CAUSE_NO_CIRCUIT_CHANNEL_AVAIL                      0x22    // UNI 4.0+
00719 
#define ATM_CAUSE_VPI_VCI_UNAVAILABLE                           0x23
00720 
#define ATM_CAUSE_VPCI_VCI_ASSIGN_FAIL                          0x24    // UNI 3.1+
00721 
#define ATM_CAUSE_USER_CELL_RATE_UNAVAILABLE            0x25    // UNI 3.1+
00722 
#define ATM_CAUSE_NETWORK_OUT_OF_ORDER                          0x26
00723 
#define ATM_CAUSE_PFM_CONNECTION_OUT_OF_ORDER           0x27    // UNI 4.0+
00724 
#define ATM_CAUSE_PFM_CONNNECTION_OPERATIONAL           0x28    // UNI 4.0+
00725 
#define ATM_CAUSE_TEMPORARY_FAILURE                                     0x29
00726 
#define ATM_CAUSE_SWITCH_EQUIPM_CONGESTED                       0x2A    // UNI 4.0+
00727 
#define ATM_CAUSE_ACCESS_INFORMAION_DISCARDED           0x2B
00728 
#define ATM_CAUSE_REQUESTED_CIRC_CHANNEL_NOT_AVAIL      0x2C    // UNI 4.0+
00729 
#define ATM_CAUSE_NO_VPI_VCI_AVAILABLE                          0x2D
00730 
#define ATM_CAUSE_RESOURCE_UNAVAILABLE                          0x2F
00731 
#define ATM_CAUSE_QOS_UNAVAILABLE                                       0x31
00732 
#define ATM_CAUSE_REQ_FACILITY_NOT_SUBSCRIBED           0x32    // UNI 4.0+
00733 
#define ATM_CAUSE_USER_CELL_RATE_UNAVAILABLE__UNI30     0x33    // UNI 3.0 only!
00734 
#define ATM_CAUSE_OUTG_CALLS_BARRED_W_CUG                       0x35    // UNI 4.0+
00735 
#define ATM_CAUSE_INCOM_CALLS_BARRED_W_CUG                      0x37    // UNI 4.0+
00736 
#define ATM_CAUSE_BEARER_CAPABILITY_UNAUTHORIZED        0x39
00737 
#define ATM_CAUSE_BEARER_CAPABILITY_UNAVAILABLE         0x3A
00738 
#define ATM_CAUSE_INCONSIST_OUTG_ACCESS_INFO            0x3E    // UNI 4.0+
00739 
#define ATM_CAUSE_OPTION_UNAVAILABLE                            0x3F
00740 
#define ATM_CAUSE_BEARER_CAPABILITY_UNIMPLEMENTED       0x41
00741 
#define ATM_CAUSE_CHANNEL_TYPE_NOT_IMPLEMENTED          0x42    // UNI 4.0+
00742 
#define ATM_CAUSE_REQ_FACILITY_NOT_IMPLEMENTED          0x45    // UNI 4.0+
00743 
#define ATM_CAUSE_ONLY_RESTR_BEAR_CAP_AVAIL                     0x46    // UNI 4.0+
00744 
#define ATM_CAUSE_UNSUPPORTED_TRAFFIC_PARAMETERS        0x49
00745 
#define ATM_CAUSE_AAL_PARAMETERS_UNSUPPORTED            0x4E    // UNI 3.1+
00746 
#define ATM_CAUSE_SERVICE_OPTION_NOT_AVAIL                      0x4F    // UNI 4.0+
00747 
#define ATM_CAUSE_INVALID_CALL_REFERENCE                        0x51
00748 
#define ATM_CAUSE_CHANNEL_NONEXISTENT                           0x52
00749 
#define ATM_CAUSE_SUSP_CALL_EXISTS_NOT_CALL_ID          0x53    // UNI 4.0+
00750 
#define ATM_CAUSE_CALL_ID_IN_USE                                        0x54    // UNI 4.0+
00751 
#define ATM_CAUSE_NO_CALL_SUSPENDED                                     0x55    // UNI 4.0+
00752 
#define ATM_CAUSE_CALL_W_REQ_ID_CLEARED                         0x56    // UNI 4.0+
00753 
#define ATM_CAUSE_USER_NOT_MEMBER_CUG                           0x57    // UNI 4.0+
00754 
#define ATM_CAUSE_INCOMPATIBLE_DESTINATION                      0x58
00755 
#define ATM_CAUSE_INVALID_ENDPOINT_REFERENCE            0x59
00756 
#define ATM_CAUSE_NON_EXISTENT_CUG                                      0x5A    // UNI 4.0+
00757 
#define ATM_CAUSE_INVALID_TRANSIT_NETWORK_SELECTION     0x5B
00758 
#define ATM_CAUSE_TOO_MANY_PENDING_ADD_PARTY            0x5C
00759 
#define ATM_CAUSE_AAL_PARAMETERS_UNSUPPORTED__UNI30     0x5D    // UNI 3.0 only!
00760 
#define ATM_CAUSE_INVALID_MSG_UNSPECIFIED                       0x5F    // UNI 4.0+
00761 
#define ATM_CAUSE_MANDATORY_IE_MISSING                          0x60
00762 
#define ATM_CAUSE_UNIMPLEMENTED_MESSAGE_TYPE            0x61
00763 
#define ATM_CAUSE_MSG_CONFL_STATE_OR_UNIMPL                     0x62    // UNI 4.0+
00764 
#define ATM_CAUSE_UNIMPLEMENTED_IE                                      0x63
00765 
#define ATM_CAUSE_INVALID_IE_CONTENTS                           0x64
00766 
#define ATM_CAUSE_INVALID_STATE_FOR_MESSAGE                     0x65
00767 
#define ATM_CAUSE_RECOVERY_ON_TIMEOUT                           0x66
00768 
#define ATM_CAUSE_IE_INVAL_UNIMPL_PASSED_ON                     0x67    // UNI 4.0+
00769 
#define ATM_CAUSE_INCORRECT_MESSAGE_LENGTH                      0x68
00770 
#define ATM_CAUSE_UNRECOGNIZED_PARM_MSG_DISCARDED       0x6E    // UNI 4.0+
00771 
#define ATM_CAUSE_PROTOCOL_ERROR                                        0x6F
00772 
#define ATM_CAUSE_INTERWORKING_UNSPECIFIED                      0x7F    // UNI 4.0+
00773 
00774 
#else // !MS_UNI4
00775 
00776 #define ATM_CAUSE_UNALLOCATED_NUMBER                            0x01
00777 #define ATM_CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK           0x02
00778 #define ATM_CAUSE_NO_ROUTE_TO_DESTINATION                       0x03
00779 #define ATM_CAUSE_VPI_VCI_UNACCEPTABLE                          0x0A
00780 #define ATM_CAUSE_NORMAL_CALL_CLEARING                          0x10
00781 #define ATM_CAUSE_USER_BUSY                                                     0x11
00782 #define ATM_CAUSE_NO_USER_RESPONDING                            0x12
00783 #define ATM_CAUSE_CALL_REJECTED                                         0x15
00784 #define ATM_CAUSE_NUMBER_CHANGED                                        0x16
00785 #define ATM_CAUSE_USER_REJECTS_CLIR                                     0x17
00786 #define ATM_CAUSE_DESTINATION_OUT_OF_ORDER                      0x1B
00787 #define ATM_CAUSE_INVALID_NUMBER_FORMAT                         0x1C
00788 #define ATM_CAUSE_STATUS_ENQUIRY_RESPONSE                       0x1E
00789 #define ATM_CAUSE_NORMAL_UNSPECIFIED                            0x1F
00790 #define ATM_CAUSE_VPI_VCI_UNAVAILABLE                           0x23
00791 #define ATM_CAUSE_NETWORK_OUT_OF_ORDER                          0x26
00792 #define ATM_CAUSE_TEMPORARY_FAILURE                                     0x29
00793 #define ATM_CAUSE_ACCESS_INFORMAION_DISCARDED           0x2B
00794 #define ATM_CAUSE_NO_VPI_VCI_AVAILABLE                          0x2D
00795 #define ATM_CAUSE_RESOURCE_UNAVAILABLE                          0x2F
00796 #define ATM_CAUSE_QOS_UNAVAILABLE                                       0x31
00797 #define ATM_CAUSE_USER_CELL_RATE_UNAVAILABLE            0x33
00798 #define ATM_CAUSE_BEARER_CAPABILITY_UNAUTHORIZED        0x39
00799 #define ATM_CAUSE_BEARER_CAPABILITY_UNAVAILABLE         0x3A
00800 #define ATM_CAUSE_OPTION_UNAVAILABLE                            0x3F
00801 #define ATM_CAUSE_BEARER_CAPABILITY_UNIMPLEMENTED       0x41
00802 #define ATM_CAUSE_UNSUPPORTED_TRAFFIC_PARAMETERS        0x49
00803 #define ATM_CAUSE_INVALID_CALL_REFERENCE                        0x51
00804 #define ATM_CAUSE_CHANNEL_NONEXISTENT                           0x52
00805 #define ATM_CAUSE_INCOMPATIBLE_DESTINATION                      0x58
00806 #define ATM_CAUSE_INVALID_ENDPOINT_REFERENCE            0x59
00807 #define ATM_CAUSE_INVALID_TRANSIT_NETWORK_SELECTION     0x5B
00808 #define ATM_CAUSE_TOO_MANY_PENDING_ADD_PARTY            0x5C
00809 #define ATM_CAUSE_AAL_PARAMETERS_UNSUPPORTED            0x5D
00810 #define ATM_CAUSE_MANDATORY_IE_MISSING                          0x60
00811 #define ATM_CAUSE_UNIMPLEMENTED_MESSAGE_TYPE            0x61
00812 #define ATM_CAUSE_UNIMPLEMENTED_IE                                      0x63
00813 #define ATM_CAUSE_INVALID_IE_CONTENTS                           0x64
00814 #define ATM_CAUSE_INVALID_STATE_FOR_MESSAGE                     0x65
00815 #define ATM_CAUSE_RECOVERY_ON_TIMEOUT                           0x66
00816 #define ATM_CAUSE_INCORRECT_MESSAGE_LENGTH                      0x68
00817 #define ATM_CAUSE_PROTOCOL_ERROR                                        0x6F
00818 
#endif // !MS_UNI4
00819 
00820 
00821 
00822 
00823 
00824 #define ATM_CAUSE_COND_UNKNOWN                                          0x00
00825 #define ATM_CAUSE_COND_PERMANENT                                        0x01
00826 #define ATM_CAUSE_COND_TRANSIENT                                        0x02
00827 
00828 
00829 
00830 
00831 
00832 #define ATM_CAUSE_REASON_USER                                           0x00
00833 #define ATM_CAUSE_REASON_IE_MISSING                                     0x04
00834 #define ATM_CAUSE_REASON_IE_INSUFFICIENT                        0x08
00835 
00836 
00837 
00838 
00839 
00840 #define ATM_CAUSE_PU_PROVIDER                                           0x00
00841 #define ATM_CAUSE_PU_USER                                                       0x08
00842 
00843 
00844 
00845 
00846 
00847 #define ATM_CAUSE_NA_NORMAL                                                     0x00
00848 #define ATM_CAUSE_NA_ABNORMAL                                           0x04
00849 
00850 
#ifdef MS_UNI4
00851 
00852 
00853 
00854 
#define ATM_CAUSE_DIAG_IE_NARROW_BEARER_CAPABILITY      0x04
00855 
#define ATM_CAUSE_DIAG_IE_CAUSE                                         0x08
00856 
#define ATM_CAUSE_DIAG_IE_CALL_STATE                            0x14
00857 
#define ATM_CAUSE_DIAG_IE_PROGRESS_IND                          0x1E
00858 
#define ATM_CAUSE_DIAG_IE_NOTIF_IND                                     0x27
00859 
#define ATM_CAUSE_DIAG_IE_END_TO_END_TDELAY                     0x42
00860 
#define ATM_CAUSE_DIAG_IE_CONNECTED_NUMBER                      0x4C
00861 
#define ATM_CAUSE_DIAG_IE_CONNECTED_SUBADDR                     0x4D
00862 
#define ATM_CAUSE_DIAG_IE_ENDPOINT_REF                          0x54
00863 
#define ATM_CAUSE_DIAG_IE_ENDPOINT_STATE                        0x55
00864 
#define ATM_CAUSE_DIAG_IE_AAL_PARMS                                     0x58
00865 
#define ATM_CAUSE_DIAG_IE_TRAFFIC_DESCRIPTOR            0x59
00866 
#define ATM_CAUSE_DIAG_IE_CONNECTION_ID                         0x5A
00867 
#define ATM_CAUSE_DIAG_IE_OAM_TRAFFIC_DESCRIPTOR        0x5B
00868 
#define ATM_CAUSE_DIAG_IE_QOS                                           0x5C
00869 
#define ATM_CAUSE_DIAG_IE_HIGH_LAYER_INFO                       0x5D
00870 
#define ATM_CAUSE_DIAG_IE_BEARER_CAPABILITY                     0x5E
00871 
#define ATM_CAUSE_DIAG_IE_LOW_LAYER_INFO                        0x5F
00872 
#define ATM_CAUSE_DIAG_IE_LOCKING_SHIFT                         0x60
00873 
#define ATM_CAUSE_DIAG_IE_NON_LOCKING_SHIFT                     0x61
00874 
#define ATM_CAUSE_DIAG_IE_SENDING_COMPLETE                      0x62
00875 
#define ATM_CAUSE_DIAG_IE_REPEAT_INDICATOR                      0x63
00876 
#define ATM_CAUSE_DIAG_IE_CALLING_PARTY_NUMBER          0x6C
00877 
#define ATM_CAUSE_DIAG_IE_CALLING_PARTY_SUBADDR         0x6D
00878 
#define ATM_CAUSE_DIAG_IE_CALLED_PARTY_NUMBER           0x70
00879 
#define ATM_CAUSE_DIAG_IE_CALLED_PARTY_SUBADDR          0x71
00880 
#define ATM_CAUSE_DIAG_IE_TRANSIT_NETWORK_SELECT        0x78
00881 
#define ATM_CAUSE_DIAG_IE_RESTART_INDICATOR                     0x79
00882 
#define ATM_CAUSE_DIAG_IE_NARROW_LOW_LAYER_COMPAT       0x7C
00883 
#define ATM_CAUSE_DIAG_IE_NARROW_HIGH_LAYER_COMPAT      0x7D
00884 
#define ATM_CAUSE_DIAG_IE_USER_USER                                     0x7E
00885 
#define ATM_CAUSE_DIAG_IE_GENERIC_ID                            0x7F
00886 
#define ATM_CAUSE_DIAG_IE_MIN_TRAFFIC_DESCRIPTOR        0x81
00887 
#define ATM_CAUSE_DIAG_IE_ALT_TRAFFIC_DESCRIPTOR        0x82
00888 
#define ATM_CAUSE_DIAG_IE_ABR_SETUP_PARMS                       0x84
00889 
#define ATM_CAUSE_DIAG_IE_CALLED_SOFT_PVPC_PVCC         0xE0
00890 
#define ATM_CAUSE_DIAG_IE_CRANKBACK                                     0xE1
00891 
#define ATM_CAUSE_DIAG_IE_DESIGNATED_TRANSIT_LIST       0xE2
00892 
#define ATM_CAUSE_DIAG_IE_CALLING_SOFT_PVPC_PVCC        0xE3
00893 
#define ATM_CAUSE_DIAG_IE_ABR_ADD_PARMS                         0xE4
00894 
#define ATM_CAUSE_DIAG_IE_LIJ_CALL_ID                           0xE8
00895 
#define ATM_CAUSE_DIAG_IE_LIJ_PARMS                                     0xE9
00896 
#define ATM_CAUSE_DIAG_IE_LEAF_SEQ_NO                           0xEA
00897 
#define ATM_CAUSE_DIAG_IE_CONNECTION_SCOPE_SELECT       0xEB
00898 
#define ATM_CAUSE_DIAG_IE_EXTENDED_QOS                          0xEC
00899 
00900 
00901 
00902 
00903 
#define ATM_CAUSE_DIAG_RATE_ID_FW_PEAK_CLP0                     0x82
00904 
#define ATM_CAUSE_DIAG_RATE_ID_BW_PEAK_CLP0                     0x83
00905 
#define ATM_CAUSE_DIAG_RATE_ID_FW_PEAK_CLP01            0x84
00906 
#define ATM_CAUSE_DIAG_RATE_ID_BW_PEAK_CLP01            0x85
00907 
#define ATM_CAUSE_DIAG_RATE_ID_FW_SUST_CLP0                     0x88
00908 
#define ATM_CAUSE_DIAG_RATE_ID_BW_SUST_CLP0                     0x89
00909 
#define ATM_CAUSE_DIAG_RATE_ID_FW_SUST_CLP01            0x90
00910 
#define ATM_CAUSE_DIAG_RATE_ID_BW_SUST_CLP01            0x91
00911 
#define ATM_CAUSE_DIAG_RATE_ID_FW_ABR_MIN_CLP01         0x92
00912 
#define ATM_CAUSE_DIAG_RATE_ID_BW_ABR_MIN_CLP01         0x93
00913 
#define ATM_CAUSE_DIAG_RATE_ID_FW_BURST_CLP0            0xA0
00914 
#define ATM_CAUSE_DIAG_RATE_ID_BW_BURST_CLP0            0xA1
00915 
#define ATM_CAUSE_DIAG_RATE_ID_FW_BURST_CLP01           0xB0
00916 
#define ATM_CAUSE_DIAG_RATE_ID_BW_BURST_CLP01           0xB1
00917 
#define ATM_CAUSE_DIAG_RATE_ID_BEST_EFFORT                      0xBE
00918 
#define ATM_CAUSE_DIAG_RATE_ID_TM_OPTIONS                       0xBF
00919 
00920 
00921 
00922 
00923 
#define ATM_CAUSE_DIAG_CCBS_SPARE                                       0x00
00924 
#define ATM_CAUSE_DIAG_CCBS_CCBS_POSSIBLE                       0x01
00925 
#define ATM_CAUSE_DIAG_CCBS_CCBS_NOT_POSSIBLE           0x02
00926 
00927 
00928 
00929 
00930 
#define ATM_CAUSE_DIAG_ATTR_NO_INFO_XFER_CAP            0x31
00931 
#define ATM_CAUSE_DIAG_ATTR_NO_INFO_XFER_MODE           0x32
00932 
#define ATM_CAUSE_DIAG_ATTR_NO_INFO_XFER_RATE           0x33
00933 
#define ATM_CAUSE_DIAG_ATTR_NO_STRUCTURE                        0x34
00934 
#define ATM_CAUSE_DIAG_ATTR_NO_CONFIG                           0x35
00935 
#define ATM_CAUSE_DIAG_ATTR_NO_ESTABL                           0x36
00936 
#define ATM_CAUSE_DIAG_ATTR_NO_SYMMETRY                         0x37
00937 
#define ATM_CAUSE_DIAG_ATTR_NO_INFO_XFER_RATE2          0x38
00938 
#define ATM_CAUSE_DIAG_ATTR_NO_LAYER_ID                         0x39
00939 
#define ATM_CAUSE_DIAG_ATTR_NO_RATE_MULT                        0x3A
00940 
00941 
#endif // MS_UNI4
00942 
00943 
00944 
00945 
00946 
00947 
00948 
00949 
00950 
typedef struct _ATM_CAUSE_IE
00951 {
00952         UCHAR                                           
Location;
00953         UCHAR                                           
Cause;
00954         UCHAR                                           
DiagnosticsLength;
00955         UCHAR                                           
Diagnostics[4];         
00956 } 
ATM_CAUSE_IE, *
PATM_CAUSE_IE;
00957 
00958 
00959 
#ifdef MS_UNI4
00960 
00961 
00962 
00963 
00964 
00965 
00966 
00967 
00968 
00969 
00970 
00971 
00972 
00973 
00974 
00975 
00976 
00977 
00978 
00979 
00980 
00981 
00982 
00983 
typedef struct _ATM_CONNECTION_ID_IE
00984 {
00985         ULONG                                           Vpci;   
00986         ULONG                                           Vci;    
00987 } ATM_CONNECTION_ID_IE, *PATM_CONNECTION_ID_IE;
00988 
00989 
#endif // MS_UNI4
00990 
00991 
00992 
#ifdef MS_UNI4
00993 
00994 
00995 
00996 
typedef struct _ATM_END_TO_END_TRANSIT_DELAY_IE
00997 {
00998         ULONG                                           CumulativeTransitDelay;                 
00999         ULONG                                           MaximumEndToEndTransitDelay;    
01000         BOOLEAN                                         NetworkGenerated;
01001 } ATM_END_TO_END_TRANSIT_DELAY_IE, *PATM_END_TO_END_TRANSIT_DELAY_IE;
01002 
01003 
#endif // MS_UNI4
01004 
01005 
01006 
#ifdef MS_UNI4
01007 
01008 
01009 
01010 
01011 
01012 
01013 
typedef struct _ATM_NOTIFICATION_INDICATOR_IE
01014 {
01015         
USHORT                                          NotificationId;
01016         
USHORT                                          InformationLength;
01017         UCHAR                                           NotificationInformation[1];             
01018 } ATM_NOTIFICATION_INDICATOR_IE, *PATM_NOTIFICATION_INDICATOR_IE;
01019 
01020 
#endif // MS_UNI4
01021 
01022 
01023 
#ifdef MS_UNI4
01024 
01025 
01026 
01027 
01028 
01029 
01030 
typedef struct _ATM_USER_USER_IE
01031 {
01032         UCHAR                                           ProtocolDescriminator;
01033         UCHAR                                           Filler[1];
01034         
USHORT                                          InformationLength;
01035         UCHAR                                           UserUserInformation[1];                 
01036 } ATM_USER_USER_IE, *PATM_USER_USER_IE;
01037 
01038 
#endif // MS_UNI4
01039 
01040 
01041 
#ifdef MS_UNI4
01042 
01043 
01044 
01045 
01046 
01047 
01048 
typedef struct _ATM_GENERIC_ID_TRANSPORT_IE
01049 {
01050         
USHORT                                          InformationLength;
01051         UCHAR                                           GenericIDInformation[1];                
01052 } ATM_GENERIC_ID_TRANSPORT_IE, *PATM_GENERIC_ID_TRANSPORT_IE;
01053 
01054 
#endif // MS_UNI4
01055 
01056 
01057 
01058 
01059 
01060 
typedef struct _ATM_LIJ_CALLID_IE
01061 {
01062         ULONG                                           
Identifier;
01063 } 
ATM_LIJ_CALLID_IE, *
PATM_LIJ_CALLID_IE;
01064 
01065 
01066 
#ifdef MS_UNI4
01067 
01068 
01069 
01070 
#define ATM_LIJ_PARMS_SCREEN_NO_ROOT_NOTIF      0x00
01071 
01072 
01073 
01074 
01075 
typedef struct _ATM_LIJ_PARAMETERS_IE
01076 {
01077         UCHAR                                           ScreeningIndication;
01078 } ATM_LIJ_PARAMETERS_IE, *PATM_LIJ_PARAMETERS_IE;
01079 
01080 
#endif // MS_UNI4
01081 
01082 
01083 
#ifdef MS_UNI4
01084 
01085 
01086 
01087 
typedef struct _ATM_LEAF_SEQUENCE_NUMBER_IE
01088 {
01089         ULONG                                           SequenceNumber;
01090 } ATM_LEAF_SEQUENCE_NUMBER_IE, *PATM_LEAF_SEQUENCE_NUMBER_IE;
01091 
01092 
#endif // MS_UNI4
01093 
01094 
01095 
#ifdef MS_UNI4
01096 
01097 
01098 
01099 
#define ATM_SCOPE_TYPE_ORGANIZATIONAL                           0x01
01100 
01101 
01102 
01103 
01104 
#define ATM_SCOPE_ORGANIZATIONAL_LOCAL_NW                       0x01
01105 
#define ATM_SCOPE_ORGANIZATIONAL_LOCAL_NW_PLUS1         0x02
01106 
#define ATM_SCOPE_ORGANIZATIONAL_LOCAL_NW_PLUS2         0x03
01107 
#define ATM_SCOPE_ORGANIZATIONAL_SITE_MINUS1            0x04
01108 
#define ATM_SCOPE_ORGANIZATIONAL_INTRA_SITE                     0x05
01109 
#define ATM_SCOPE_ORGANIZATIONAL_SITE_PLUS1                     0x06
01110 
#define ATM_SCOPE_ORGANIZATIONAL_ORG_MINUS1                     0x07
01111 
#define ATM_SCOPE_ORGANIZATIONAL_INTRA_ORG                      0x08
01112 
#define ATM_SCOPE_ORGANIZATIONAL_ORG_PLUS1                      0x09
01113 
#define ATM_SCOPE_ORGANIZATIONAL_COMM_MINUS1            0x0A
01114 
#define ATM_SCOPE_ORGANIZATIONAL_INTRA_COMM                     0x0B
01115 
#define ATM_SCOPE_ORGANIZATIONAL_COMM_PLUS1                     0x0C
01116 
#define ATM_SCOPE_ORGANIZATIONAL_REGIONAL                       0x0D
01117 
#define ATM_SCOPE_ORGANIZATIONAL_INTER_REGIONAL         0x0E
01118 
#define ATM_SCOPE_ORGANIZATIONAL_GLOBAL                         0x0F
01119 
01120 
01121 
01122 
01123 
typedef struct _ATM_CONNECTION_SCOPE_SELECTION_IE
01124 {
01125         UCHAR                                           ConnectionScopeType;
01126         UCHAR                                           ConnectionScopeSelection;
01127 } ATM_CONNECTION_SCOPE_SELECTION_IE, *PATM_CONNECTION_SCOPE_SELECTION_IE;
01128 
01129 
#endif // MS_UNI4
01130 
01131 
01132 
#ifdef MS_UNI4
01133 
01134 
01135 
01136 
#define                 ATM_ABR_PARMS_NRM_PRESENT               0x80000000
01137 
#define                 ATM_ABR_PARMS_TRM_PRESENT               0x40000000
01138 
#define                 ATM_ABR_PARMS_CDF_PRESENT               0x20000000
01139 
#define                 ATM_ABR_PARMS_ADTF_PRESENT              0x10000000
01140 
#define                 ATM_ABR_PARMS_NRM_MASK                  0x0E000000
01141 
#define                 ATM_ABR_PARMS_NRM_SHIFT                 25
01142 
#define                 ATM_ABR_PARMS_TRM_MASK                  0x01C00000
01143 
#define                 ATM_ABR_PARMS_TRM_SHIFT                 22
01144 
#define                 ATM_ABR_PARMS_CDF_MASK                  0x00380000
01145 
#define                 ATM_ABR_PARMS_CDF_SHIFT                 19
01146 
#define                 ATM_ABR_PARMS_ADTF_MASK                 0x0007FE00
01147 
#define                 ATM_ABR_PARMS_ADTF_SHIFT                9
01148 
#define                 ATM_ABR_PARMS_NRM_DEFAULT               4
01149 
#define                 ATM_ABR_PARMS_TRM_DEFAULT               7
01150 
#define                 ATM_ABR_PARMS_CDF_DEFAULT               3
01151 
#define                 ATM_ABR_PARMS_ADTF_DEFAULT              50
01152 
01153 
typedef struct _ATM_ABR_ADDITIONAL_PARAMETERS_IE
01154 {
01155         ULONG   ForwardAdditionalParameters;
01156         ULONG   BackwardAdditionalParameters;
01157 } ATM_ABR_ADDITIONAL_PARAMETERS_IE, *PATM_ABR_ADDITIONAL_PARAMETERS_IE;
01158 
01159 
#endif // MS_UNI4
01160 
01161 
01162 
#ifdef MS_UNI4
01163 
01164 
01165 
01166 
typedef struct _ATM_ABR_SETUP_PARAMETERS_IE
01167 {
01168         ULONG   ForwardABRInitialCellRateCLP01;                 
01169         ULONG   BackwardABRInitialCellRateCLP01;                
01170         ULONG   ForwardABRTransientBufferExposure;              
01171         ULONG   BackwardABRTransientBufferExposure;             
01172         ULONG   CumulativeRmFixedRTT;
01173         UCHAR   ForwardABRRateIncreaseFactorLog2;               
01174         UCHAR   BackwardABRRateIncreaseFactorLog2;              
01175         UCHAR   ForwardABRRateDecreaseFactorLog2;               
01176         UCHAR   BackwardABRRateDecreaseFactorLog2;              
01177 } ATM_ABR_SETUP_PARAMETERS_IE, *PATM_ABR_SETUP_PARAMETERS_IE;
01178 
01179 
#endif // MS_UNI4
01180 
01181 
01182 
01183 
01184 
01185 
typedef struct _ATM_RAW_IE
01186 {
01187         ULONG                                           
RawIELength;
01188         ULONG                                           
RawIEType;
01189         UCHAR                                           
RawIEValue[1];          
01190 } 
ATM_RAW_IE, *
PATM_RAW_IE;
01191 
01192 
01193 
01194 
01195 
01196 
01197 
01198 #define ATM_MEDIA_SPECIFIC              0x00000001
01199 
01200 
01201 
01202 
01203 
01204 
typedef struct _Q2931_CALLMGR_PARAMETERS
01205 {
01206         ATM_ADDRESS                                     CalledParty;
01207         ATM_ADDRESS                                     CallingParty;
01208         ULONG                                           
InfoElementCount;
01209         UCHAR                                           
InfoElements[1];        
01210 } 
Q2931_CALLMGR_PARAMETERS, *
PQ2931_CALLMGR_PARAMETERS;
01211 
01212 
01213 
01214 
01215 
01216 
01217 
01218 #define CALLMGR_SPECIFIC_Q2931  0x00000001
01219 
01220 
typedef struct _ATM_VPIVCI
01221 {
01222         ULONG                                           
Vpi;
01223         ULONG                                           
Vci;
01224 } 
ATM_VPIVCI, *
PATM_VPIVCI;
01225 
01226 
01227 
01228 
01229 #define ATM_SERVICE_CATEGORY_CBR        1       // Constant Bit Rate
01230 #define ATM_SERVICE_CATEGORY_VBR        2       // Variable Bit Rate
01231 #define ATM_SERVICE_CATEGORY_UBR        4       // Unspecified Bit Rate
01232 #define ATM_SERVICE_CATEGORY_ABR        8       // Available Bit Rate
01233 
01234 typedef ULONG   
ATM_SERVICE_CATEGORY, *
PATM_SERVICE_CATEGORY;
01235 
01236 
01237 
01238 
01239 
01240 
typedef struct _ATM_FLOW_PARAMETERS
01241 {
01242         ATM_SERVICE_CATEGORY            ServiceCategory;
01243         ULONG                                           
AverageCellRate;                        
01244         ULONG                                           
PeakCellRate;                           
01245         ULONG                                           
MinimumCellRate;                        
01246         ULONG                                           
InitialCellRate;                        
01247         ULONG                                           
BurstLengthCells;                       
01248         ULONG                                           
MaxSduSize;                                     
01249         ULONG                                           
TransientBufferExposure;        
01250         ULONG                                           
CumulativeRMFixedRTT;           
01251         UCHAR                                           
RateIncreaseFactor;                     
01252         UCHAR                                           
RateDecreaseFactor;                     
01253         USHORT                                          ACRDecreaseTimeFactor;          
01254         UCHAR                                           
MaximumCellsPerForwardRMCell; 
01255         UCHAR                                           
MaximumForwardRMCellInterval; 
01256         UCHAR                                           
CutoffDecreaseFactor;           
01257         UCHAR                                           
Reserved1;                                      
01258         ULONG                                           
MissingRMCellCount;                     
01259         ULONG                                           
Reserved2;
01260         ULONG                                           
Reserved3;
01261 } 
ATM_FLOW_PARAMETERS, *
PATM_FLOW_PARAMETERS;
01262 
01263 
01264 
01265 
01266 
01267 
typedef struct _ATM_MEDIA_PARAMETERS
01268 {
01269         ATM_VPIVCI                                      ConnectionId;
01270         ATM_AAL_TYPE                            AALType;
01271         ULONG                                           
CellDelayVariationCLP0;
01272         ULONG                                           
CellDelayVariationCLP1;
01273         ULONG                                           
CellLossRatioCLP0;
01274         ULONG                                           
CellLossRatioCLP1;
01275         ULONG                                           
CellTransferDelayCLP0;
01276         ULONG                                           
CellTransferDelayCLP1;
01277         ULONG                                           
DefaultCLP;
01278         ATM_FLOW_PARAMETERS                     Transmit;
01279         ATM_FLOW_PARAMETERS                     Receive;
01280 } 
ATM_MEDIA_PARAMETERS, *
PATM_MEDIA_PARAMETERS;
01281 
01282 
#ifdef MS_UNI4
01283 
01284 
01285 
01286 
01287 
01288 
01289 
01290 
01291 
01292 
01293 
01294 
01295 
01296 
01297 
01298 
01299 
typedef struct _Q2931_CALLMGR_SUBSEQUENT_PARAMETERS
01300 {
01301         ULONG                                           InfoElementCount;
01302         UCHAR                                           InfoElements[1];        
01303 } Q2931_CALLMGR_SUBSEQUENT_PARAMETERS, *PQ2931_CALLMGR_SUBSEQUENT_PARAMETERS;
01304 
#endif // MS_UNI4
01305 
01306 
#ifdef MS_UNI4
01307 
01308 
01309 
01310 
01311 
#endif // MS_UNI4
01312 
01313 
#ifndef SAP_FIELD_ABSENT
01314 #define SAP_FIELD_ABSENT                ((ULONG)0xfffffffe)
01315 
#endif
01316 
01317 
#ifndef SAP_FIELD_ABSENT_USHORT
01318 #define SAP_FIELD_ABSENT_USHORT ((USHORT)0xfffe)
01319 
#endif
01320 
01321 
#ifndef SAP_FIELD_ABSENT_UCHAR
01322 #define SAP_FIELD_ABSENT_UCHAR  ((UCHAR)0xfe)
01323 
#endif
01324 
01325 
#ifndef SAP_FIELD_ANY
01326 #define SAP_FIELD_ANY                   ((ULONG)0xffffffff)
01327 
#endif
01328 
01329 #define SAP_FIELD_ANY_AESA_SEL  ((ULONG)0xfffffffa)     // SEL is wild-carded
01330 #define SAP_FIELD_ANY_AESA_REST ((ULONG)0xfffffffb)     // All of the address
01331 
                                                                                                        
01332 
01333 
01334 
01335 
01336 
typedef struct _ATM_SAP
01337 {
01338         ATM_BLLI_IE                                     Blli;
01339         ATM_BHLI_IE                                     Bhli;
01340         ULONG                                           
NumberOfAddresses;
01341         UCHAR                                           
Addresses[1];   
01342 } 
ATM_SAP, *
PATM_SAP;
01343 
01344 
01345 
01346 
01347 
typedef struct _ATM_PVC_SAP
01348 {
01349         ATM_BLLI_IE                                     Blli;
01350         ATM_BHLI_IE                                     Bhli;
01351 } 
ATM_PVC_SAP, *
PATM_PVC_SAP;
01352 
01353 
01354 
01355 
01356 
01357 
typedef struct _Q2931_ADD_PVC
01358 {
01359         ATM_ADDRESS                                     CalledParty;
01360         ATM_ADDRESS                                     CallingParty;
01361         ATM_VPIVCI                                      ConnectionId;
01362         ATM_AAL_TYPE                            AALType;
01363         ATM_FLOW_PARAMETERS                     ForwardFP;
01364         ATM_FLOW_PARAMETERS                     BackwardFP;
01365         ULONG                                           
Flags;
01366         ATM_PVC_SAP                                     LocalSap;
01367         ATM_PVC_SAP                                     DestinationSap;
01368         BOOLEAN                                         
LIJIdPresent;
01369         ATM_LIJ_CALLID_IE                       LIJId;
01370 } 
Q2931_ADD_PVC, *
PQ2931_ADD_PVC;
01371 
01372 
01373 
01374 
01375 
01376 #define CO_FLAG_SIGNALING_VC    0x00000001
01377 
01378 
01379 
01380 
01381 
01382 #define CO_FLAG_NO_DEST_SAP             0x00000002
01383 
01384 
01385 
01386 
01387 #define CO_FLAG_NO_LOCAL_SAP    0x00000004
01388 
01389 
01390 
01391 
01392 
01393 
typedef struct _Q2931_DELETE_PVC
01394 {
01395         ATM_VPIVCI                                      ConnectionId;
01396 } 
Q2931_DELETE_PVC, *
PQ2931_DELETE_PVC;
01397 
01398 
typedef struct _CO_GET_CALL_INFORMATION
01399 {
01400         ULONG                                           
CallInfoType;
01401         ULONG                                           
CallInfoLength;
01402         PVOID                                           
CallInfoBuffer;
01403 } 
CO_GET_CALL_INFORMATION, *
PCO_GET_CALL_INFORMATION;
01404 
01405 
01406 
01407 
01408 
01409 
typedef struct _ATM_VC_RATES_SUPPORTED
01410 {
01411         ULONG                                           
MinCellRate;
01412         ULONG                                           
MaxCellRate;
01413 } 
ATM_VC_RATES_SUPPORTED, *
PATM_VC_RATES_SUPPORTED;
01414 
01415 
01416 
01417 
01418 
typedef struct _ATM_AAL_OOB_INFO
01419 {
01420         ATM_AAL_TYPE            AalType;
01421         
union
01422 
        {
01423                 
struct _ATM_AAL5_INFO
01424                 {
01425                         BOOLEAN         CellLossPriority;
01426                         UCHAR           UserToUserIndication;
01427                         UCHAR           CommonPartIndicator;
01428                 } ATM_AAL5_INFO;
01429 
01430                 
struct _ATM_AAL0_INFO
01431                 {
01432                         BOOLEAN         CellLossPriority;
01433                         UCHAR           PayLoadTypeIdentifier;
01434                 } ATM_AAL0_INFO;
01435         };
01436 } 
ATM_AAL_OOB_INFO, *
PATM_AAL_OOB_INFO;
01437 
01438 
01439 
01440 
01441 
01442 #define ATM_PHYS_RATE_SONET_STS3C                                               155520000
01443 #define ATM_PHYS_RATE_IBM_25                                                     25600000
01444 
01445 
01446 
01447 
01448 
01449 #define ATM_CELL_TRANSFER_CAPACITY_SONET_STS3C                  149760000
01450 #define ATM_CELL_TRANSFER_CAPACITY_IBM_25                                25125926
01451 
01452 
01453 
01454 
01455 
01456 
01457 
01458 
01459 
01460 #define ATM_USER_DATA_RATE_SONET_155                                      1356317
01461 #define ATM_USER_DATA_RATE_IBM_25                                      227556
01462 
01463 
01464 
01465 
01466 
01467 
01468 
01469 
01470 
01471 typedef ULONG           
ATM_SERVICE_REGISTRY_TYPE;
01472 
01473 #define ATM_SERVICE_REGISTRY_LECS               1       // LAN Emulation Configuration Server
01474 #define ATM_SERVICE_REGISTRY_ANS                2       // ATM Name Server
01475 
01476 
01477 
01478 
01479 
typedef struct _ATM_SERVICE_ADDRESS_LIST
01480 {
01481         ATM_SERVICE_REGISTRY_TYPE       ServiceRegistryType;
01482         ULONG                                           
NumberOfAddressesAvailable;
01483         ULONG                                           
NumberOfAddressesReturned;
01484         ATM_ADDRESS                                     Address[1];
01485 } 
ATM_SERVICE_ADDRESS_LIST, *
PATM_SERVICE_ADDRESS_LIST;
01486 
01487 
#endif  //      _ATM_H_
01488