Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

atm40.h

Go to the documentation of this file.
00001 /*++ 00002 00003 Copyright (c) 1990-1994 Microsoft Corporation 00004 00005 Module Name: 00006 00007 atm.h 00008 00009 Abstract: 00010 00011 This module defines the structures, macros, and manifests available 00012 to ATM aware components. 00013 00014 Author: 00015 00016 Jameel Hyder - [email protected] 00017 00018 Revision History: 00019 00020 Initial Version - March 1996 00021 #ifdef MS_UNI4 00022 John Dalgas (v-jdalga) 09/18/97 added support for UNI4.0 ATM CM 00023 #endif // MS_UNI4 00024 00025 --*/ 00026 00027 #ifndef _ATM_H_ 00028 #define _ATM_H_ 00029 00030 // 00031 // Address type 00032 // 00033 typedef ULONG ATM_ADDRESSTYPE; 00034 00035 #define ATM_NSAP 0 00036 #define ATM_E164 1 00037 00038 // 00039 // ATM Address 00040 // 00041 #define ATM_MAC_ADDRESS_LENGTH 6 // Same as 802.x 00042 #define ATM_ADDRESS_LENGTH 20 00043 00044 // 00045 // Special characters in ATM address string used in textual representations 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 // AAL types that the miniport supports 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 // Flags for Information Element types 00073 // 00074 #define ATM_IE_RESPONSE_FLAG 0x80000000 00075 #define ATM_IE_EMPTY_FLAG 0x40000000 00076 00077 00078 // 00079 // Types of Information Elements 00080 // 00081 typedef enum 00082 { 00083 // These identify request IEs 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, // invalid to use in request 00117 IE_ConnectedSubaddress, // invalid to use in request 00118 #endif // MS_UNI4 00119 // End of request IEs 00120 IE_NextRequest, // invalid to use in request 00121 00122 // These identify empty IE buffers, to hold a possible response 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 // These identify response IEs 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 // Common header for each Information Element 00158 // 00159 typedef struct _Q2931_IE 00160 { 00161 Q2931_IE_TYPE IEType; 00162 ULONG IELength; // Bytes, including IEType and IELength fields 00163 UCHAR IE[1]; 00164 } Q2931_IE, *PQ2931_IE; 00165 00166 00167 // 00168 // Definitions for SapType in CO_SAP 00169 // 00170 #define SAP_TYPE_NSAP 0x00000001 00171 #define SAP_TYPE_E164 0x00000002 00172 00173 // 00174 // Values used for the Mode field in AAL5_PARAMETERS 00175 // 00176 #define AAL5_MODE_MESSAGE 0x01 00177 #define AAL5_MODE_STREAMING 0x02 00178 00179 // 00180 // Values used for the SSCSType field in AAL5_PARAMETERS 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 // AAL Parameters 00190 // 00191 typedef struct _AAL1_PARAMETERS 00192 { 00193 UCHAR Subtype; 00194 UCHAR CBRRate; 00195 USHORT Multiplier; // optional (exception: zero if absent) 00196 UCHAR SourceClockRecoveryMethod; // optional 00197 UCHAR ErrorCorrectionMethod; // optional 00198 USHORT StructuredDataTransferBlocksize; // optional (exception: zero if absent) 00199 UCHAR PartiallyFilledCellsMethod; // optional 00200 } AAL1_PARAMETERS, *PAAL1_PARAMETERS; 00201 00202 typedef struct _AAL34_PARAMETERS 00203 { 00204 USHORT ForwardMaxCPCSSDUSize; 00205 USHORT BackwardMaxCPCSSDUSize; 00206 USHORT LowestMID; // optional 00207 USHORT HighestMID; // optional 00208 UCHAR SSCSType; // optional 00209 } AAL34_PARAMETERS, *PAAL34_PARAMETERS; 00210 00211 typedef struct _AAL5_PARAMETERS 00212 { 00213 ULONG ForwardMaxCPCSSDUSize; 00214 ULONG BackwardMaxCPCSSDUSize; 00215 UCHAR Mode; 00216 UCHAR SSCSType; // optional 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 // ATM Traffic Descriptor 00239 // 00240 typedef struct _ATM_TRAFFIC_DESCRIPTOR // For one direction 00241 { 00242 ULONG PeakCellRateCLP0; // optional 00243 ULONG PeakCellRateCLP01; // optional 00244 ULONG SustainableCellRateCLP0; // optional 00245 ULONG SustainableCellRateCLP01; // optional 00246 ULONG MaximumBurstSizeCLP0; // optional 00247 ULONG MaximumBurstSizeCLP01; // optional 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 // ATM Traffic Descriptor Add-On for UNI 4.0+ 00263 // 00264 // REQUIREMENT: An add-on IE must follow immediately after its ancestor IE. 00265 // 00266 typedef struct _ATM_TRAFFIC_DESCRIPTOR_ADDON // For one direction 00267 { 00268 ULONG ABRMinimumCellRateCLP01; // optional 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 // Alternative Traffic Descriptor IE for UNI 4.0+ 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 // ATM Minimum Acceptable Traffic Descriptor 00298 // 00299 typedef struct _ATM_MINIMUM_TRAFFIC_DESCRIPTOR // For one direction 00300 { 00301 ULONG PeakCellRateCLP0; // optional 00302 ULONG PeakCellRateCLP01; // optional 00303 ULONG MinimumCellRateCLP01; // optional 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 // values used for the BearerClass field in the Broadband Bearer Capability 00318 // and UNI 4.0 Broadband Bearer Capability IEs. 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 // values used for the TrafficType field in the Broadband Bearer Capability IE 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 // values used for the TimingRequirements field in the Broadband Bearer Capability IE 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 // values used for the ClippingSusceptability field in the Broadband Bearer Capability 00349 // and UNI 4.0 Broadband Bearer Capability IEs. 00350 // 00351 #define CLIP_NOT 0x00 // Not susceptible to clipping 00352 #define CLIP_SUS 0x20 // Susceptible to clipping 00353 00354 // 00355 // values used for the UserPlaneConnectionConfig field in 00356 // the Broadband Bearer Capability 00357 // and UNI 4.0 Broadband Bearer Capability IEs. 00358 // 00359 #define UP_P2P 0x00 // Point-to-point connection 00360 #define UP_P2MP 0x01 // Point-to-multipoint connection 00361 00362 00363 // 00364 // Broadband Bearer Capability for UNI 3.1 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 // values used for the TransferCapability field in the UNI 4.0 Broadband Bearer Capability IE 00379 // 00380 // Usage Usage Corresponding UNI3.x values 00381 // UNI 4.0 UNI 3.0 TrafficType TimingRequirements 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 // Broadband Bearer Capability for UNI 4.0+ 00399 // Note: This can be used for UNI 3.1 as well. 00400 // 00401 typedef struct _ATM_BROADBAND_BEARER_CAPABILITY_IE_UNI40 00402 { 00403 UCHAR BearerClass; 00404 UCHAR TransferCapability; // optional 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 // values used for the HighLayerInfoType field in ATM_BHLI 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 // Broadband High layer Information 00421 // 00422 typedef struct _ATM_BHLI_IE 00423 { 00424 ULONG HighLayerInfoType; // High Layer Information Type 00425 ULONG HighLayerInfoLength; // number of bytes in HighLayerInfo 00426 UCHAR HighLayerInfo[8]; // The value dependent on the 00427 // HighLayerInfoType field 00428 } ATM_BHLI_IE, *PATM_BHLI_IE; 00429 00430 // 00431 // values used for Layer2Protocol in B-LLI 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 // values used for Layer3Protocol in B-LLI 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 // values used for Layer3IPI in struct B-LLI 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 // Broadband Lower Layer Information 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 // Values used for Layer3H310TerminalType in struct B-LLI ADDON 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 // Values used for Layer3H310ForwardMultiplexingCapability 00505 // and Layer3H310BackwardMultiplexingCapability in struct B-LLI ADDON 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 // Broadband Lower Layer Information Add-On for UNI4.0+ 00517 // 00518 // REQUIREMENT: An add-on IE must follow immediately after its ancestor IE. 00519 // 00520 typedef struct _ATM_BLLI_IE_ADDON 00521 { 00522 UCHAR Layer3H310TerminalType; // optional 00523 UCHAR Layer3H310ForwardMultiplexingCapability; // optional 00524 UCHAR Layer3H310BackwardMultiplexingCapability; // optional 00525 } ATM_BLLI_IE_ADDON, *PATM_BLLI_IE_ADDON; 00526 00527 #endif // MS_UNI4 00528 00529 00530 // 00531 // Values used for PresentationIndication in struct ATM_CALLING_PARTY_NUMBER_IE 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 // Values used for ScreeningIndicator in struct ATM_CALLING_PARTY_NUMBER_IE 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 // Called Party Number 00551 // 00552 // If present, this IE overrides the Called Address specified in 00553 // the main parameter block. 00554 // 00555 typedef ATM_ADDRESS ATM_CALLED_PARTY_NUMBER_IE; 00556 00557 00558 // 00559 // Called Party Subaddress 00560 // 00561 typedef ATM_ADDRESS ATM_CALLED_PARTY_SUBADDRESS_IE; 00562 00563 00564 00565 // 00566 // Calling Party Number 00567 // 00568 typedef struct _ATM_CALLING_PARTY_NUMBER_IE 00569 { 00570 ATM_ADDRESS Number; 00571 UCHAR PresentationIndication; // optional 00572 UCHAR ScreeningIndicator; // optional 00573 } ATM_CALLING_PARTY_NUMBER_IE, *PATM_CALLING_PARTY_NUMBER_IE; 00574 00575 00576 // 00577 // Calling Party Subaddress 00578 // 00579 typedef ATM_ADDRESS ATM_CALLING_PARTY_SUBADDRESS_IE; 00580 00581 00582 #ifdef MS_UNI4 00583 // 00584 // Connected Number IE for UNI 4.0 (for COLP Supplementary Services option) 00585 // 00586 typedef ATM_CALLING_PARTY_NUMBER_IE ATM_CONNECTED_NUMBER_IE, *PATM_CONNECTED_NUMBER_IE; 00587 00588 00589 // 00590 // Connected Subaddress IE for UNI 4.0 (for COLP Supplementary Services option) 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 // Values used for the QOSClassForward and QOSClassBackward 00599 // fields in ATM_QOS_CLASS_IE 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 // QOS Class 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 // Values used for the Origin field in ATM_EXTENDED_QOS_PARAMETERS_IE 00620 // 00621 #define ATM_XQOS_ORIGINATING_USER 0x00 00622 #define ATM_XQOS_INTERMEDIATE_NW 0x01 00623 00624 // 00625 // Extended QoS Parameters for UNI 4.0+ 00626 // 00627 typedef struct _ATM_EXTENDED_QOS_PARAMETERS_IE 00628 { 00629 UCHAR Origin; 00630 UCHAR Filler[3]; 00631 ULONG AcceptableForwardPeakCDV; // optional 00632 ULONG AcceptableBackwardPeakCDV; // optional 00633 ULONG CumulativeForwardPeakCDV; // optional 00634 ULONG CumulativeBackwardPeakCDV; // optional 00635 UCHAR AcceptableForwardCLR; // optional 00636 UCHAR AcceptableBackwardCLR; // optional 00637 } ATM_EXTENDED_QOS_PARAMETERS_IE, *PATM_EXTENDED_QOS_PARAMETERS_IE; 00638 00639 #endif // MS_UNI4 00640 00641 00642 // 00643 // Broadband Sending Complete 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 // Values used for the TypeOfNetworkId field in ATM_TRANSIT_NETWORK_SELECTION_IE 00653 // 00654 #define TNS_TYPE_NATIONAL 0x40 00655 00656 // 00657 // Values used for the NetworkIdPlan field in ATM_TRANSIT_NETWORK_SELECTION_IE 00658 // 00659 #define TNS_PLAN_CARRIER_ID_CODE 0x01 00660 00661 // 00662 // Transit Network Selection 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 // Values used for the Location field in struct ATM_CAUSE_IE 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 // Values used for the Cause field in struct ATM_CAUSE_IE 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 // Values used for the Condition portion of the Diagnostics field 00822 // in struct ATM_CAUSE_IE, for certain Cause values 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 // Values used for the Rejection Reason portion of the Diagnostics field 00830 // in struct ATM_CAUSE_IE, for certain Cause values 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 // Values used for the P-U flag of the Diagnostics field 00838 // in struct ATM_CAUSE_IE, for certain Cause values 00839 // 00840 #define ATM_CAUSE_PU_PROVIDER 0x00 00841 #define ATM_CAUSE_PU_USER 0x08 00842 00843 // 00844 // Values used for the N-A flag of the Diagnostics field 00845 // in struct ATM_CAUSE_IE, for certain Cause values 00846 // 00847 #define ATM_CAUSE_NA_NORMAL 0x00 00848 #define ATM_CAUSE_NA_ABNORMAL 0x04 00849 00850 #ifdef MS_UNI4 00851 // 00852 // values used for placing IE identifiers in the Diagnostics field 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 // values used for placing IE subfield identifiers in the Diagnostics field 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 // Values used for placing a CCBS indicator in the Diagnostics field 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 // Values used for placing Attribute Numbers in the Diagnostics field 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 // Cause 00946 // 00947 // Note: If used as empty buffer for response IE, then the DiagnosticsLength 00948 // MUST be filled in correctly, to show available buffer length. 00949 // 00950 typedef struct _ATM_CAUSE_IE 00951 { 00952 UCHAR Location; 00953 UCHAR Cause; 00954 UCHAR DiagnosticsLength; 00955 UCHAR Diagnostics[4]; // Variable length information (minimum 4 bytes) 00956 } ATM_CAUSE_IE, *PATM_CAUSE_IE; 00957 00958 00959 #ifdef MS_UNI4 00960 // 00961 // Connection Identifier IE for UNI 4.0+ 00962 // 00963 // Setting VPCI to SAP_FIELD_ABSENT, means it is "VP-associated" signalling, 00964 // (which is not supported by this CallManager); 00965 // 00966 // Otherwise we assume "explicit VPCI" (this is the normal setting), 00967 // and the Vpci value is used. 00968 // 00969 // Setting the VCI to SAP_FIELD_ABSENT, means it is "switched VP", 00970 // which is not supported by this CallManager; 00971 // 00972 // Setting the VCI to SAP_FIELD_ANY, means it is "explicit VPCI, any VCI"; 00973 // 00974 // Setting both the Vpci and the Vci fields to SAP_FIELD_ANY, 00975 // or setting both the Vpci and the Vci fields to SAP_FIELD_ABSENT, 00976 // means that the ConnectionId is not defined, 00977 // so it will not be sent to the peer. 00978 // (This allows an empty ConnectionIdentifier IE to hold the response). 00979 // 00980 // Otherwise we assume "explicit VPCI, explicit VCI" (this is the normal 00981 // setting), and the Vci value is used. 00982 // 00983 typedef struct _ATM_CONNECTION_ID_IE 00984 { 00985 ULONG Vpci; // Optional: Can use SAP_FIELD_ANY or SAP_FIELD_ABSENT here. 00986 ULONG Vci; // Optional: Can use SAP_FIELD_ANY or SAP_FIELD_ABSENT here. 00987 } ATM_CONNECTION_ID_IE, *PATM_CONNECTION_ID_IE; 00988 00989 #endif // MS_UNI4 00990 00991 00992 #ifdef MS_UNI4 00993 // 00994 // End-to-End Transit Delay IE for UNI 4.0+ 00995 // 00996 typedef struct _ATM_END_TO_END_TRANSIT_DELAY_IE 00997 { 00998 ULONG CumulativeTransitDelay; // optional (Milliseconds) 00999 ULONG MaximumEndToEndTransitDelay; // optional (Milliseconds) 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 // Notification Indicator IE for UNI 4.0+ 01009 // 01010 // Note: If used as empty buffer for response IE, then the InformationLength 01011 // MUST be filled in correctly, to show available buffer length. 01012 // 01013 typedef struct _ATM_NOTIFICATION_INDICATOR_IE 01014 { 01015 USHORT NotificationId; 01016 USHORT InformationLength; 01017 UCHAR NotificationInformation[1]; // Variable length information 01018 } ATM_NOTIFICATION_INDICATOR_IE, *PATM_NOTIFICATION_INDICATOR_IE; 01019 01020 #endif // MS_UNI4 01021 01022 01023 #ifdef MS_UNI4 01024 // 01025 // User-User IE for UNI 4.0+ (for UUS Supplementary Services option) 01026 // 01027 // Note: If used as empty buffer for response IE, then the InformationLength 01028 // MUST be filled in correctly, to show available buffer length. 01029 // 01030 typedef struct _ATM_USER_USER_IE 01031 { 01032 UCHAR ProtocolDescriminator; 01033 UCHAR Filler[1]; 01034 USHORT InformationLength; 01035 UCHAR UserUserInformation[1]; // Variable length information 01036 } ATM_USER_USER_IE, *PATM_USER_USER_IE; 01037 01038 #endif // MS_UNI4 01039 01040 01041 #ifdef MS_UNI4 01042 // 01043 // Generic ID Transport IE for UNI 4.0+ 01044 // 01045 // Note: If used as empty buffer for response IE, then the InformationLength 01046 // MUST be filled in correctly, to show available buffer length. 01047 // 01048 typedef struct _ATM_GENERIC_ID_TRANSPORT_IE 01049 { 01050 USHORT InformationLength; 01051 UCHAR GenericIDInformation[1]; // Variable length information 01052 } ATM_GENERIC_ID_TRANSPORT_IE, *PATM_GENERIC_ID_TRANSPORT_IE; 01053 01054 #endif // MS_UNI4 01055 01056 01057 // 01058 // Leaf Initiated Join (LIJ) Identifier 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 // Values used for the ScreeningIndication field in struct ATM_LIJ_PARAMETERS_IE 01069 // 01070 #define ATM_LIJ_PARMS_SCREEN_NO_ROOT_NOTIF 0x00 01071 01072 // 01073 // Leaf Initiated Join (LIJ) Parameters IE for UNI 4.0+ 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 // Leaf Sequence Number IE for UNI 4.0+ 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 // Values used for the ConnectionScopeType field in _ATM_CONNECTION_SCOPE_SELECTION_IE 01098 // 01099 #define ATM_SCOPE_TYPE_ORGANIZATIONAL 0x01 01100 01101 // 01102 // Values used for the ConnectionScopeSelection field in _ATM_CONNECTION_SCOPE_SELECTION_IE 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 // Connection Scope Selection IE for UNI 4.0+ 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 // Values used for the XxxxAdditionalParameters fields in _ATM_ABR_ADDITIONAL_PARAMETERS_IE 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 // ABR Setup Parameters IE for UNI 4.0+ 01165 // 01166 typedef struct _ATM_ABR_SETUP_PARAMETERS_IE 01167 { 01168 ULONG ForwardABRInitialCellRateCLP01; // optional 01169 ULONG BackwardABRInitialCellRateCLP01; // optional 01170 ULONG ForwardABRTransientBufferExposure; // optional 01171 ULONG BackwardABRTransientBufferExposure; // optional 01172 ULONG CumulativeRmFixedRTT; 01173 UCHAR ForwardABRRateIncreaseFactorLog2; // optional (0..15 [log2(RIF*32768)]) 01174 UCHAR BackwardABRRateIncreaseFactorLog2; // optional (0..15 [log2(RIF*32768)]) 01175 UCHAR ForwardABRRateDecreaseFactorLog2; // optional (0..15 [log2(RDF*32768)]) 01176 UCHAR BackwardABRRateDecreaseFactorLog2; // optional (0..15 [log2(RDF*32768)]) 01177 } ATM_ABR_SETUP_PARAMETERS_IE, *PATM_ABR_SETUP_PARAMETERS_IE; 01178 01179 #endif // MS_UNI4 01180 01181 01182 // 01183 // Raw Information Element - the user can fill in whatever he wants 01184 // 01185 typedef struct _ATM_RAW_IE 01186 { 01187 ULONG RawIELength; 01188 ULONG RawIEType; 01189 UCHAR RawIEValue[1]; // Vaiable length information 01190 } ATM_RAW_IE, *PATM_RAW_IE; 01191 01192 01193 // 01194 // This is the value of the ParamType field in the CO_SPECIFIC_PARAMETERS structure 01195 // when the Parameters[] field contains ATM media specific values in the structure 01196 // ATM_MEDIA_PARAMETERS. 01197 // 01198 #define ATM_MEDIA_SPECIFIC 0x00000001 01199 01200 // 01201 // The Q2931 Call Manager Specific parameters that goes into the 01202 // CallMgrParameters->CallMgrSpecific.Parameters 01203 // 01204 typedef struct _Q2931_CALLMGR_PARAMETERS 01205 { 01206 ATM_ADDRESS CalledParty; 01207 ATM_ADDRESS CallingParty; 01208 ULONG InfoElementCount; 01209 UCHAR InfoElements[1]; // one or more info elements 01210 } Q2931_CALLMGR_PARAMETERS, *PQ2931_CALLMGR_PARAMETERS; 01211 01212 01213 // 01214 // This is the specific portion of either the Media parameters or the CallMgr 01215 // Parameters. The following define is used in the ParamType field 01216 // depending on the signaling type. 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 // ATM Service Category 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 // ATM flow parameters for use in specifying Media parameters 01239 // 01240 typedef struct _ATM_FLOW_PARAMETERS 01241 { 01242 ATM_SERVICE_CATEGORY ServiceCategory; 01243 ULONG AverageCellRate; // in cells/sec 01244 ULONG PeakCellRate; // in cells/sec 01245 ULONG MinimumCellRate; // in cells/sec (ABR MCR) 01246 ULONG InitialCellRate; // in cells/sec (ABR ICR) 01247 ULONG BurstLengthCells; // in cells 01248 ULONG MaxSduSize; // MTU in bytes 01249 ULONG TransientBufferExposure; // in cells (ABR TBE) 01250 ULONG CumulativeRMFixedRTT; // in microseconds (ABR FRTT) 01251 UCHAR RateIncreaseFactor; // UNI 4.0 coding (ABR RIF) 01252 UCHAR RateDecreaseFactor; // UNI 4.0 coding (ABR RDF) 01253 USHORT ACRDecreaseTimeFactor; // UNI 4.0 coding (ABR ADTF) 01254 UCHAR MaximumCellsPerForwardRMCell; // UNI 4.0 coding (ABR Nrm) 01255 UCHAR MaximumForwardRMCellInterval; // UNI 4.0 coding (ABR Trm) 01256 UCHAR CutoffDecreaseFactor; // UNI 4.0 coding (ABR CDF) 01257 UCHAR Reserved1; // padding 01258 ULONG MissingRMCellCount; // (ABR CRM) 01259 ULONG Reserved2; 01260 ULONG Reserved3; 01261 } ATM_FLOW_PARAMETERS, *PATM_FLOW_PARAMETERS; 01262 01263 // 01264 // ATM Specific Media parameters - this is the Media specific structure for ATM 01265 // that goes into MediaParameters->MediaSpecific.Parameters. 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 // Generic ATM Call Manager Specific parameters. 01285 // These may be used for call/leaf teardown and for certain NdisCoRequest calls. 01286 // 01287 // When used for closing a call and for dropping a leaf, by either client or 01288 // Call Manager, this struct is referenced by the `Buffer` parameter of 01289 // the relevant NDIS functions. 01290 // 01291 // When used for NdisCoRequest calls to make ATM UNI protocol specific 01292 // requests and indications 01293 // OID_ATM_CALL_PROCEEDING 01294 // OID_ATM_CALL_ALERTING 01295 // OID_ATM_LEAF_ALERTING 01296 // OID_ATM_CALL_NOTIFY 01297 // this struct is referenced by the `InformationBuffer` parameter. 01298 // 01299 typedef struct _Q2931_CALLMGR_SUBSEQUENT_PARAMETERS 01300 { 01301 ULONG InfoElementCount; 01302 UCHAR InfoElements[1]; // one or more info elements 01303 } Q2931_CALLMGR_SUBSEQUENT_PARAMETERS, *PQ2931_CALLMGR_SUBSEQUENT_PARAMETERS; 01304 #endif // MS_UNI4 01305 01306 #ifdef MS_UNI4 01307 // 01308 // Field values that may be used whereever applicable to signify absence 01309 // of data or wildcard data. 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 // except SEL, is wild-carded 01332 01333 // 01334 // The ATM Specific SAP definition 01335 // 01336 typedef struct _ATM_SAP 01337 { 01338 ATM_BLLI_IE Blli; 01339 ATM_BHLI_IE Bhli; 01340 ULONG NumberOfAddresses; 01341 UCHAR Addresses[1]; // each of type ATM_ADDRESS 01342 } ATM_SAP, *PATM_SAP; 01343 01344 // 01345 // The ATM Specific SAP definition when adding PVCs 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 // The structure passed in the Parameters field of the CO_SPECIFIC_PARAMETERS 01355 // structure passed in an ADD PVC request for Q.2931 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 // These flags are defined to be used with Q2931_ADD_PVC above 01374 // 01375 // this VC should be used by the CallMgr as the signaling VC now 01376 #define CO_FLAG_SIGNALING_VC 0x00000001 01377 01378 // 01379 // use this flag when the VC cannot be used for a MakeCall - incoming call only 01380 // the call mgr can then be optimized not to search these PVCs during make call 01381 // processing. 01382 #define CO_FLAG_NO_DEST_SAP 0x00000002 01383 01384 // 01385 // Use this flag for a PVC that cannot be used to indicate an incoming call. 01386 // 01387 #define CO_FLAG_NO_LOCAL_SAP 0x00000004 01388 01389 // 01390 // the structure passed in the Parameters field of the CO_SPECIFIC_PARAMETERS 01391 // structure passed in an NDIS_CO_PVC request for Q2931 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 // the structure for returning the supported VC rates from the miniport, 01407 // returned in response to OID_ATM_SUPPORTED_VC_RATES 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 // NDIS_PACKET out of band information for ATM. 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 // Physical Line Speeds in bits/sec. 01441 // 01442 #define ATM_PHYS_RATE_SONET_STS3C 155520000 01443 #define ATM_PHYS_RATE_IBM_25 25600000 01444 01445 // 01446 // ATM cell layer transfer capacities in bits/sec. This is the throughput 01447 // available for ATM cells, after allowing for physical framing overhead. 01448 // 01449 #define ATM_CELL_TRANSFER_CAPACITY_SONET_STS3C 149760000 01450 #define ATM_CELL_TRANSFER_CAPACITY_IBM_25 25125926 01451 01452 01453 01454 // 01455 // User data rate in units of 100 bits/sec. This is returned in response to 01456 // the OID_GEN_CO_LINK_SPEED query. This is the effective rate of 01457 // transfer of data available to the ATM layer user, after allowing for 01458 // the ATM cell header. 01459 // 01460 #define ATM_USER_DATA_RATE_SONET_155 1356317 01461 #define ATM_USER_DATA_RATE_IBM_25 227556 01462 01463 01464 01465 // 01466 // The ATM Service Registry MIB Table is used to locate ATM network 01467 // services. OID_ATM_GET_SERVICE_ADDRESS is used by clients to access 01468 // this table. 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 // Structure passed to OID_ATM_GET_SERVICE_ADDRESS. 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

Generated on Sat May 15 19:39:17 2004 for test by doxygen 1.3.7