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 
#ifndef _ATM_H_
00026 
#define _ATM_H_
00027 
00028 
00029 
00030 
00031 typedef ULONG   
ATM_ADDRESSTYPE;
00032 
00033 #define ATM_NSAP                                0
00034 #define ATM_E164                                1
00035 
00036 
00037 
00038 
00039 #define ATM_MAC_ADDRESS_LENGTH  6               // Same as 802.x
00040 #define ATM_ADDRESS_LENGTH              20
00041 
00042 
00043 
00044 
00045 #define ATM_ADDR_BLANK_CHAR                             L' '
00046 #define ATM_ADDR_PUNCTUATION_CHAR               L'.'
00047 #define ATM_ADDR_E164_START_CHAR                L'+'
00048 
00049 typedef struct _ATM_ADDRESS
00050 {
00051         
ATM_ADDRESSTYPE                         AddressType;
00052         ULONG                                           
NumberOfDigits;
00053         UCHAR                                           
Address[
ATM_ADDRESS_LENGTH];
00054 } 
ATM_ADDRESS, *
PATM_ADDRESS;
00055 
00056 
00057 
00058 
00059 
00060 
00061 #define AAL_TYPE_AAL0                   1
00062 #define AAL_TYPE_AAL1                   2
00063 #define AAL_TYPE_AAL34                  4
00064 #define AAL_TYPE_AAL5                   8
00065 
00066 typedef ULONG   
ATM_AAL_TYPE, *
PATM_AAL_TYPE;
00067 
00068 
00069 
00070 
00071 
00072 typedef enum
00073 {
00074         
IE_AALParameters,
00075         
IE_TrafficDescriptor,
00076         
IE_BroadbandBearerCapability,
00077         
IE_BHLI,
00078         
IE_BLLI,
00079         
IE_CalledPartyNumber,
00080         
IE_CalledPartySubaddress,
00081         
IE_CallingPartyNumber,
00082         
IE_CallingPartySubaddress,
00083         
IE_Cause,
00084         
IE_QOSClass,
00085         
IE_TransitNetworkSelection,
00086         
IE_BroadbandSendingComplete,
00087         
IE_LIJCallId,
00088         
IE_Raw
00089 } 
Q2931_IE_TYPE;
00090 
00091 
00092 
00093 
00094 
00095 typedef struct _Q2931_IE
00096 {
00097         
Q2931_IE_TYPE                           IEType;
00098         ULONG                                           
IELength;       
00099         UCHAR                                           
IE[1];
00100 } 
Q2931_IE, *
PQ2931_IE;
00101 
00102 
00103 
00104 
00105 
00106 #define SAP_TYPE_NSAP                   0x00000001
00107 #define SAP_TYPE_E164                   0x00000002
00108 
00109 
00110 
00111 
00112 #define AAL5_MODE_MESSAGE                       0x01
00113 #define AAL5_MODE_STREAMING                     0x02
00114 
00115 
00116 
00117 
00118 #define AAL5_SSCS_NULL                          0x00
00119 #define AAL5_SSCS_SSCOP_ASSURED         0x01
00120 #define AAL5_SSCS_SSCOP_NON_ASSURED     0x02
00121 #define AAL5_SSCS_FRAME_RELAY           0x04
00122 
00123 
00124 
00125 
00126 
00127 typedef struct _AAL1_PARAMETERS
00128 {
00129         UCHAR                                           
Subtype;
00130         UCHAR                                           
CBRRate;
00131         
USHORT                                          Multiplier;
00132         UCHAR                                           
SourceClockRecoveryMethod;
00133         UCHAR                                           
ErrorCorrectionMethod;
00134         
USHORT                                          StructuredDataTransferBlocksize;
00135         UCHAR                                           
PartiallyFilledCellsMethod;
00136 } 
AAL1_PARAMETERS, *
PAAL1_PARAMETERS;
00137 
00138 typedef struct _AAL34_PARAMETERS
00139 {
00140         
USHORT                                          ForwardMaxCPCSSDUSize;
00141         
USHORT                                          BackwardMaxCPCSSDUSize;
00142         
USHORT                                          LowestMID;
00143         
USHORT                                          HighestMID;
00144         UCHAR                                           
SSCSType;
00145 } 
AAL34_PARAMETERS, *
PAAL34_PARAMETERS;
00146 
00147 typedef struct _AAL5_PARAMETERS
00148 {
00149         ULONG                                           
ForwardMaxCPCSSDUSize;
00150         ULONG                                           
BackwardMaxCPCSSDUSize;
00151         UCHAR                                           
Mode;
00152         UCHAR                                           
SSCSType;
00153 } 
AAL5_PARAMETERS, *
PAAL5_PARAMETERS;
00154 
00155 typedef struct _AALUSER_PARAMETERS
00156 {
00157         ULONG                                           
UserDefined;
00158 } 
AALUSER_PARAMETERS, *
PAALUSER_PARAMETERS;
00159 
00160 typedef struct _AAL_PARAMETERS_IE
00161 {
00162         
ATM_AAL_TYPE                            AALType;
00163         
union
00164 
        {
00165                 
AAL1_PARAMETERS                 AAL1Parameters;
00166                 
AAL34_PARAMETERS                AAL34Parameters;
00167                 
AAL5_PARAMETERS                 AAL5Parameters;
00168                 
AALUSER_PARAMETERS              AALUserParameters;
00169         } 
AALSpecificParameters;
00170 
00171 } 
AAL_PARAMETERS_IE, *
PAAL_PARAMETERS_IE;
00172 
00173 
00174 
00175 
00176 typedef struct _ATM_TRAFFIC_DESCRIPTOR  
00177 {
00178         ULONG                                           
PeakCellRateCLP0;
00179         ULONG                                           
PeakCellRateCLP01;
00180         ULONG                                           
SustainableCellRateCLP0;
00181         ULONG                                           
SustainableCellRateCLP01;
00182         ULONG                                           
MaximumBurstSizeCLP0;
00183         ULONG                                           
MaximumBurstSizeCLP01;
00184         BOOLEAN                                         
Tagging;
00185 } 
ATM_TRAFFIC_DESCRIPTOR, *
PATM_TRAFFIC_DESCRIPTOR;
00186 
00187 
00188 typedef struct _ATM_TRAFFIC_DESCRIPTOR_IE
00189 {
00190         
ATM_TRAFFIC_DESCRIPTOR          ForwardTD;
00191         
ATM_TRAFFIC_DESCRIPTOR          BackwardTD;
00192         BOOLEAN                                         
BestEffort;
00193 } 
ATM_TRAFFIC_DESCRIPTOR_IE, *
PATM_TRAFFIC_DESCRIPTOR_IE;
00194 
00195 
00196 
00197 
00198 
00199 
00200 
00201 #define BCOB_A                                  0x00    // Bearer class A
00202 #define BCOB_C                                  0x01    // Bearer class C
00203 #define BCOB_X                                  0x02    // Bearer class X
00204 
00205 
00206 
00207 
00208 #define TT_NOIND                                0x00    // No indication of traffic type
00209 #define TT_CBR                                  0x04    // Constant bit rate
00210 #define TT_VBR                                  0x08    // Variable bit rate
00211 
00212 
00213 
00214 
00215 #define TR_NOIND                                0x00    // No timing requirement indication
00216 #define TR_END_TO_END                   0x01    // End-to-end timing required
00217 #define TR_NO_END_TO_END                0x02    // End-to-end timing not required
00218 
00219 
00220 
00221 
00222 #define CLIP_NOT                                0x00    // Not susceptible to clipping
00223 #define CLIP_SUS                                0x20    // Susceptible to clipping
00224 
00225 
00226 
00227 
00228 
00229 #define UP_P2P                                  0x00    // Point-to-point connection
00230 #define UP_P2MP                                 0x01    // Point-to-multipoint connection
00231 
00232 
00233 
00234 
00235 typedef struct _ATM_BROADBAND_BEARER_CAPABILITY_IE
00236 {
00237         UCHAR                   
BearerClass;
00238         UCHAR                   
TrafficType;
00239         UCHAR                   
TimingRequirements;
00240         UCHAR                   
ClippingSusceptability;
00241         UCHAR                   
UserPlaneConnectionConfig;
00242 } 
ATM_BROADBAND_BEARER_CAPABILITY_IE, *
PATM_BROADBAND_BEARER_CAPABILITY_IE;
00243 
00244 
00245 
00246 
00247 #define BHLI_ISO                                0x00    // ISO
00248 #define BHLI_UserSpecific               0x01    // User Specific
00249 #define BHLI_HighLayerProfile   0x02    // High layer profile (only in UNI3.0)
00250 #define BHLI_VendorSpecificAppId 0x03   // Vendor-Specific Application ID
00251 
00252 
00253 
00254 
00255 typedef struct _ATM_BHLI_IE
00256 {
00257         ULONG                   
HighLayerInfoType;              
00258         ULONG                   
HighLayerInfoLength;    
00259         UCHAR                   
HighLayerInfo[8];               
00260                                                                                         
00261 } 
ATM_BHLI_IE, *
PATM_BHLI_IE;
00262 
00263 
00264 
00265 
00266 #define BLLI_L2_ISO_1745                0x01    // Basic mode ISO 1745
00267 #define BLLI_L2_Q921                    0x02    // CCITT Rec. Q.921
00268 #define BLLI_L2_X25L                    0x06    // CCITT Rec. X.25, link layer
00269 #define BLLI_L2_X25M                    0x07    // CCITT Rec. X.25, multilink
00270 #define BLLI_L2_ELAPB                   0x08    // Extended LAPB; for half duplex operation
00271 #define BLLI_L2_HDLC_ARM                0x09    // HDLC ARM (ISO 4335)
00272 #define BLLI_L2_HDLC_NRM                0x0A    // HDLC NRM (ISO 4335)
00273 #define BLLI_L2_HDLC_ABM                0x0B    // HDLC ABM (ISO 4335)
00274 #define BLLI_L2_LLC                             0x0C    // LAN logical link control (ISO 8802/2)
00275 #define BLLI_L2_X75                             0x0D    // CCITT Rec. X.75, single link procedure
00276 #define BLLI_L2_Q922                    0x0E    // CCITT Rec. Q.922
00277 #define BLLI_L2_USER_SPECIFIED  0x10    // User Specified
00278 #define BLLI_L2_ISO_7776                0x11    // ISO 7776 DTE-DTE operation
00279 
00280 
00281 
00282 
00283 #define BLLI_L3_X25                             0x06    // CCITT Rec. X.25, packet layer
00284 #define BLLI_L3_ISO_8208                0x07    // ISO/IEC 8208 (X.25 packet layer for DTE
00285 #define BLLI_L3_X223                    0x08    // X.223/ISO 8878
00286 #define BLLI_L3_SIO_8473                0x09    // ISO/IEC 8473 (OSI connectionless)
00287 #define BLLI_L3_T70                             0x0A    // CCITT Rec. T.70 min. network layer
00288 #define BLLI_L3_ISO_TR9577              0x0B    // ISO/IEC TR 9577 Network Layer Protocol ID
00289 #define BLLI_L3_USER_SPECIFIED  0x10    // User Specified
00290 
00291 
00292 
00293 
00294 #define BLLI_L3_IPI_SNAP                0x80    // IEEE 802.1 SNAP identifier
00295 #define BLLI_L3_IPI_IP                  0xCC    // Internet Protocol (IP) identifier
00296 
00297 
00298 
00299 
00300 typedef struct _ATM_BLLI_IE
00301 {
00302         ULONG                                           
Layer2Protocol;
00303         UCHAR                                           
Layer2Mode;
00304         UCHAR                                           
Layer2WindowSize;
00305         ULONG                                           
Layer2UserSpecifiedProtocol;
00306         ULONG                                           
Layer3Protocol;
00307         UCHAR                                           
Layer3Mode;
00308         UCHAR                                           
Layer3DefaultPacketSize;
00309         UCHAR                                           
Layer3PacketWindowSize;
00310         ULONG                                           
Layer3UserSpecifiedProtocol;
00311         ULONG                                           
Layer3IPI;
00312         UCHAR                                           
SnapId[5];
00313 } 
ATM_BLLI_IE, *
PATM_BLLI_IE;
00314 
00315 
00316 
00317 
00318 
00319 
00320 
00321 
00322 typedef ATM_ADDRESS     ATM_CALLED_PARTY_NUMBER_IE;
00323 
00324 
00325 
00326 
00327 
00328 typedef ATM_ADDRESS     ATM_CALLED_PARTY_SUBADDRESS_IE;
00329 
00330 
00331 
00332 
00333 
00334 
00335 typedef struct _ATM_CALLING_PARTY_NUMBER_IE
00336 {
00337         
ATM_ADDRESS                                     Number;
00338         UCHAR                                           
PresentationIndication;
00339         UCHAR                                           
ScreeningIndicator;
00340 } 
ATM_CALLING_PARTY_NUMBER_IE, *
PATM_CALLING_PARTY_NUMBER_IE;
00341 
00342 
00343 
00344 
00345 
00346 typedef ATM_ADDRESS     ATM_CALLING_PARTY_SUBADDRESS_IE;
00347 
00348 
00349 
00350 
00351 
00352 
00353 #define QOS_CLASS0                              0x00
00354 #define QOS_CLASS1                              0x01
00355 #define QOS_CLASS2                              0x02
00356 #define QOS_CLASS3                              0x03
00357 #define QOS_CLASS4                              0x04
00358 
00359 
00360 
00361 
00362 typedef struct _ATM_QOS_CLASS_IE
00363 {
00364         UCHAR                                           
QOSClassForward;
00365         UCHAR                                           
QOSClassBackward;
00366 } 
ATM_QOS_CLASS_IE, *
PATM_QOS_CLASS_IE;
00367 
00368 
00369 
00370 
00371 typedef struct _ATM_BROADBAND_SENDING_COMPLETE_IE
00372 {
00373         UCHAR                                           
SendingComplete;
00374 } 
ATM_BROADBAND_SENDING_COMPLETE_IE, *
PATM_BROADBAND_SENDING_COMPLETE_IE;
00375 
00376 
00377 
00378 
00379 
00380 #define TNS_TYPE_NATIONAL                       0x40
00381 
00382 
00383 
00384 
00385 #define TNS_PLAN_CARRIER_ID_CODE        0x01
00386 
00387 
00388 
00389 
00390 typedef struct _ATM_TRANSIT_NETWORK_SELECTION_IE
00391 {
00392         UCHAR                                           
TypeOfNetworkId;
00393         UCHAR                                           
NetworkIdPlan;
00394         UCHAR                                           
NetworkIdLength;
00395         UCHAR                                           
NetworkId[1];
00396 } 
ATM_TRANSIT_NETWORK_SELECTION_IE, *
PATM_TRANSIT_NETWORK_SELECTION_IE;
00397 
00398 
00399 
00400 
00401 
00402 #define ATM_CAUSE_LOC_USER                                                      0x00
00403 #define ATM_CAUSE_LOC_PRIVATE_LOCAL                                     0x01
00404 #define ATM_CAUSE_LOC_PUBLIC_LOCAL                                      0x02
00405 #define ATM_CAUSE_LOC_TRANSIT_NETWORK                           0x03
00406 #define ATM_CAUSE_LOC_PUBLIC_REMOTE                                     0x04
00407 #define ATM_CAUSE_LOC_PRIVATE_REMOTE                            0x05
00408 #define ATM_CAUSE_LOC_INTERNATIONAL_NETWORK                     0x07
00409 #define ATM_CAUSE_LOC_BEYOND_INTERWORKING                       0x0A
00410 
00411 
00412 
00413 
00414 #define ATM_CAUSE_UNALLOCATED_NUMBER                            0x01
00415 #define ATM_CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK           0x02
00416 #define ATM_CAUSE_NO_ROUTE_TO_DESTINATION                       0x03
00417 #define ATM_CAUSE_VPI_VCI_UNACCEPTABLE                          0x0A
00418 #define ATM_CAUSE_NORMAL_CALL_CLEARING                          0x10
00419 #define ATM_CAUSE_USER_BUSY                                                     0x11
00420 #define ATM_CAUSE_NO_USER_RESPONDING                            0x12
00421 #define ATM_CAUSE_CALL_REJECTED                                         0x15
00422 #define ATM_CAUSE_NUMBER_CHANGED                                        0x16
00423 #define ATM_CAUSE_USER_REJECTS_CLIR                                     0x17
00424 #define ATM_CAUSE_DESTINATION_OUT_OF_ORDER                      0x1B
00425 #define ATM_CAUSE_INVALID_NUMBER_FORMAT                         0x1C
00426 #define ATM_CAUSE_STATUS_ENQUIRY_RESPONSE                       0x1E
00427 #define ATM_CAUSE_NORMAL_UNSPECIFIED                            0x1F
00428 #define ATM_CAUSE_VPI_VCI_UNAVAILABLE                           0x23
00429 #define ATM_CAUSE_NETWORK_OUT_OF_ORDER                          0x26
00430 #define ATM_CAUSE_TEMPORARY_FAILURE                                     0x29
00431 #define ATM_CAUSE_ACCESS_INFORMAION_DISCARDED           0x2B
00432 #define ATM_CAUSE_NO_VPI_VCI_AVAILABLE                          0x2D
00433 #define ATM_CAUSE_RESOURCE_UNAVAILABLE                          0x2F
00434 #define ATM_CAUSE_QOS_UNAVAILABLE                                       0x31
00435 #define ATM_CAUSE_USER_CELL_RATE_UNAVAILABLE            0x33
00436 #define ATM_CAUSE_BEARER_CAPABILITY_UNAUTHORIZED        0x39
00437 #define ATM_CAUSE_BEARER_CAPABILITY_UNAVAILABLE         0x3A
00438 #define ATM_CAUSE_OPTION_UNAVAILABLE                            0x3F
00439 #define ATM_CAUSE_BEARER_CAPABILITY_UNIMPLEMENTED       0x41
00440 #define ATM_CAUSE_UNSUPPORTED_TRAFFIC_PARAMETERS        0x49
00441 #define ATM_CAUSE_INVALID_CALL_REFERENCE                        0x51
00442 #define ATM_CAUSE_CHANNEL_NONEXISTENT                           0x52
00443 #define ATM_CAUSE_INCOMPATIBLE_DESTINATION                      0x58
00444 #define ATM_CAUSE_INVALID_ENDPOINT_REFERENCE            0x59
00445 #define ATM_CAUSE_INVALID_TRANSIT_NETWORK_SELECTION     0x5B
00446 #define ATM_CAUSE_TOO_MANY_PENDING_ADD_PARTY            0x5C
00447 #define ATM_CAUSE_AAL_PARAMETERS_UNSUPPORTED            0x5D
00448 #define ATM_CAUSE_MANDATORY_IE_MISSING                          0x60
00449 #define ATM_CAUSE_UNIMPLEMENTED_MESSAGE_TYPE            0x61
00450 #define ATM_CAUSE_UNIMPLEMENTED_IE                                      0x63
00451 #define ATM_CAUSE_INVALID_IE_CONTENTS                           0x64
00452 #define ATM_CAUSE_INVALID_STATE_FOR_MESSAGE                     0x65
00453 #define ATM_CAUSE_RECOVERY_ON_TIMEOUT                           0x66
00454 #define ATM_CAUSE_INCORRECT_MESSAGE_LENGTH                      0x68
00455 #define ATM_CAUSE_PROTOCOL_ERROR                                        0x6F
00456 
00457 
00458 
00459 
00460 
00461 #define ATM_CAUSE_COND_UNKNOWN                                          0x00
00462 #define ATM_CAUSE_COND_PERMANENT                                        0x01
00463 #define ATM_CAUSE_COND_TRANSIENT                                        0x02
00464 
00465 
00466 
00467 
00468 
00469 #define ATM_CAUSE_REASON_USER                                           0x00
00470 #define ATM_CAUSE_REASON_IE_MISSING                                     0x04
00471 #define ATM_CAUSE_REASON_IE_INSUFFICIENT                        0x08
00472 
00473 
00474 
00475 
00476 
00477 #define ATM_CAUSE_PU_PROVIDER                                           0x00
00478 #define ATM_CAUSE_PU_USER                                                       0x08
00479 
00480 
00481 
00482 
00483 
00484 #define ATM_CAUSE_NA_NORMAL                                                     0x00
00485 #define ATM_CAUSE_NA_ABNORMAL                                           0x04
00486 
00487 
00488 
00489 
00490 typedef struct _ATM_CAUSE_IE
00491 {
00492         UCHAR                                           
Location;
00493         UCHAR                                           
Cause;
00494         UCHAR                                           
DiagnosticsLength;
00495         UCHAR                                           
Diagnostics[4];
00496 } 
ATM_CAUSE_IE, *
PATM_CAUSE_IE;
00497 
00498 
00499 
00500 
00501 
00502 typedef struct _ATM_LIJ_CALLID_IE
00503 {
00504         ULONG                                           
Identifier;
00505 } 
ATM_LIJ_CALLID_IE, *
PATM_LIJ_CALLID_IE;
00506 
00507 
00508 
00509 
00510 
00511 typedef struct _ATM_RAW_IE
00512 {
00513         ULONG                                           
RawIELength;
00514         ULONG                                           
RawIEType;
00515         UCHAR                                           
RawIEValue[1];
00516 } 
ATM_RAW_IE, *
PATM_RAW_IE;
00517 
00518 
00519 
00520 
00521 
00522 
00523 
00524 #define ATM_MEDIA_SPECIFIC              0x00000001
00525 
00526 
00527 
00528 
00529 
00530 typedef struct _Q2931_CALLMGR_PARAMETERS
00531 {
00532         
ATM_ADDRESS                                     CalledParty;
00533         
ATM_ADDRESS                                     CallingParty;
00534         ULONG                                           
InfoElementCount;
00535         UCHAR                                           
InfoElements[1];        
00536 } 
Q2931_CALLMGR_PARAMETERS, *
PQ2931_CALLMGR_PARAMETERS;
00537 
00538 
00539 
00540 
00541 
00542 
00543 
00544 #define CALLMGR_SPECIFIC_Q2931  0x00000001
00545 
00546 typedef struct _ATM_VPIVCI
00547 {
00548         ULONG                                           
Vpi;
00549         ULONG                                           
Vci;
00550 } 
ATM_VPIVCI, *
PATM_VPIVCI;
00551 
00552 
00553 
00554 
00555 #define ATM_SERVICE_CATEGORY_CBR        1       // Constant Bit Rate
00556 #define ATM_SERVICE_CATEGORY_VBR        2       // Variable Bit Rate
00557 #define ATM_SERVICE_CATEGORY_UBR        4       // Unspecified Bit Rate
00558 #define ATM_SERVICE_CATEGORY_ABR        8       // Available Bit Rate
00559 
00560 typedef ULONG   
ATM_SERVICE_CATEGORY, *
PATM_SERVICE_CATEGORY;
00561 
00562 
00563 
00564 
00565 
00566 typedef struct _ATM_FLOW_PARAMETERS
00567 {
00568         
ATM_SERVICE_CATEGORY            ServiceCategory;
00569         ULONG                                           
AverageCellRate;                        
00570         ULONG                                           
PeakCellRate;                           
00571         ULONG                                           
MinimumCellRate;                        
00572         ULONG                                           
InitialCellRate;                        
00573         ULONG                                           
BurstLengthCells;                       
00574         ULONG                                           
MaxSduSize;                                     
00575         ULONG                                           
TransientBufferExposure;        
00576         ULONG                                           
CumulativeRMFixedRTT;           
00577         UCHAR                                           
RateIncreaseFactor;                     
00578         UCHAR                                           
RateDecreaseFactor;                     
00579         
USHORT                                          ACRDecreaseTimeFactor;          
00580         UCHAR                                           
MaximumCellsPerForwardRMCell; 
00581         UCHAR                                           
MaximumForwardRMCellInterval; 
00582         UCHAR                                           
CutoffDecreaseFactor;           
00583         UCHAR                                           
Reserved1;                                      
00584         ULONG                                           
MissingRMCellCount;                     
00585         ULONG                                           
Reserved2;
00586         ULONG                                           
Reserved3;
00587 } 
ATM_FLOW_PARAMETERS, *
PATM_FLOW_PARAMETERS;
00588 
00589 
00590 
00591 
00592 
00593 
00594 
00595 
00596 typedef struct _ATM_MEDIA_PARAMETERS
00597 {
00598         
ATM_VPIVCI                                      ConnectionId;
00599         
ATM_AAL_TYPE                            AALType;
00600         ULONG                                           
CellDelayVariationCLP0;
00601         ULONG                                           
CellDelayVariationCLP1;
00602         ULONG                                           
CellLossRatioCLP0;
00603         ULONG                                           
CellLossRatioCLP1;
00604         ULONG                                           
CellTransferDelayCLP0;
00605         ULONG                                           
CellTransferDelayCLP1;
00606         ULONG                                           
DefaultCLP;
00607         
ATM_FLOW_PARAMETERS                     Transmit;
00608         
ATM_FLOW_PARAMETERS                     Receive;
00609 } 
ATM_MEDIA_PARAMETERS, *
PATM_MEDIA_PARAMETERS;
00610 
00611 
00612 
00613 #define ATM_FLOW_PARAMS_RSVD1_MPP       0x01
00614 
00615 
#ifndef SAP_FIELD_ABSENT
00616 #define SAP_FIELD_ABSENT                ((ULONG)0xfffffffe)
00617 
#endif
00618 
00619 
#ifndef SAP_FIELD_ANY
00620 #define SAP_FIELD_ANY                   ((ULONG)0xffffffff)
00621 
#endif
00622 
00623 #define SAP_FIELD_ANY_AESA_SEL  ((ULONG)0xfffffffa)     // SEL is wild-carded
00624 #define SAP_FIELD_ANY_AESA_REST ((ULONG)0xfffffffb)     // All of the address
00625 
                                                                                                        
00626 
00627 
00628 
00629 
00630 typedef struct _ATM_SAP
00631 {
00632         
ATM_BLLI_IE                                     Blli;
00633         
ATM_BHLI_IE                                     Bhli;
00634         ULONG                                           
NumberOfAddresses;
00635         UCHAR                                           
Addresses[1];   
00636 } 
ATM_SAP, *
PATM_SAP;
00637 
00638 
00639 
00640 
00641 typedef struct _ATM_PVC_SAP
00642 {
00643         
ATM_BLLI_IE                                     Blli;
00644         
ATM_BHLI_IE                                     Bhli;
00645 } 
ATM_PVC_SAP, *
PATM_PVC_SAP;
00646 
00647 
00648 
00649 
00650 
00651 typedef struct _Q2931_ADD_PVC
00652 {
00653         
ATM_ADDRESS                                     CalledParty;
00654         
ATM_ADDRESS                                     CallingParty;
00655         
ATM_VPIVCI                                      ConnectionId;
00656         
ATM_AAL_TYPE                            AALType;
00657         
ATM_FLOW_PARAMETERS                     ForwardFP;
00658         
ATM_FLOW_PARAMETERS                     BackwardFP;
00659         ULONG                                           
Flags;
00660         
ATM_PVC_SAP                                     LocalSap;
00661         
ATM_PVC_SAP                                     DestinationSap;
00662         BOOLEAN                                         
LIJIdPresent;
00663         
ATM_LIJ_CALLID_IE                       LIJId;
00664 } 
Q2931_ADD_PVC, *
PQ2931_ADD_PVC;
00665 
00666 
00667 
00668 
00669 
00670 #define CO_FLAG_SIGNALING_VC    0x00000001
00671 
00672 
00673 
00674 
00675 
00676 #define CO_FLAG_NO_DEST_SAP             0x00000002
00677 
00678 
00679 
00680 
00681 #define CO_FLAG_NO_LOCAL_SAP    0x00000004
00682 
00683 
00684 
00685 
00686 
00687 typedef struct _Q2931_DELETE_PVC
00688 {
00689         
ATM_VPIVCI                                      ConnectionId;
00690 } 
Q2931_DELETE_PVC, *
PQ2931_DELETE_PVC;
00691 
00692 typedef struct _CO_GET_CALL_INFORMATION
00693 {
00694         ULONG                                           
CallInfoType;
00695         ULONG                                           
CallInfoLength;
00696         PVOID                                           
CallInfoBuffer;
00697 } 
CO_GET_CALL_INFORMATION, *
PCO_GET_CALL_INFORMATION;
00698 
00699 
00700 
00701 
00702 
00703 typedef struct _ATM_VC_RATES_SUPPORTED
00704 {
00705         ULONG                                           
MinCellRate;
00706         ULONG                                           
MaxCellRate;
00707 } 
ATM_VC_RATES_SUPPORTED, *
PATM_VC_RATES_SUPPORTED;
00708 
00709 
00710 
00711 
00712 typedef struct _ATM_AAL_OOB_INFO
00713 {
00714         
ATM_AAL_TYPE            AalType;
00715         
union
00716 
        {
00717                 
struct _ATM_AAL5_INFO
00718                 {
00719                         BOOLEAN         CellLossPriority;
00720                         UCHAR           UserToUserIndication;
00721                         UCHAR           CommonPartIndicator;
00722                 } 
ATM_AAL5_INFO;
00723 
00724                 
struct _ATM_AAL0_INFO
00725                 {
00726                         BOOLEAN         CellLossPriority;
00727                         UCHAR           PayLoadTypeIdentifier;
00728                 } 
ATM_AAL0_INFO;
00729         };
00730 } 
ATM_AAL_OOB_INFO, *
PATM_AAL_OOB_INFO;
00731 
00732 
00733 
00734 
00735 
00736 #define ATM_PHYS_RATE_SONET_STS3C                                               155520000
00737 #define ATM_PHYS_RATE_IBM_25                                                     25600000
00738 
00739 
00740 
00741 
00742 
00743 #define ATM_CELL_TRANSFER_CAPACITY_SONET_STS3C                  149760000
00744 #define ATM_CELL_TRANSFER_CAPACITY_IBM_25                                25125926
00745 
00746 
00747 
00748 
00749 
00750 
00751 
00752 
00753 
00754 #define ATM_USER_DATA_RATE_SONET_155                                      1356317
00755 #define ATM_USER_DATA_RATE_IBM_25                                      227556
00756 
00757 
00758 
00759 
00760 
00761 
00762 
00763 
00764 
00765 typedef ULONG           
ATM_SERVICE_REGISTRY_TYPE;
00766 
00767 #define ATM_SERVICE_REGISTRY_LECS               1       // LAN Emulation Configuration Server
00768 #define ATM_SERVICE_REGISTRY_ANS                2       // ATM Name Server
00769 
00770 
00771 
00772 
00773 typedef struct _ATM_SERVICE_ADDRESS_LIST
00774 {
00775         
ATM_SERVICE_REGISTRY_TYPE       ServiceRegistryType;
00776         ULONG                                           
NumberOfAddressesAvailable;
00777         ULONG                                           
NumberOfAddressesReturned;
00778         
ATM_ADDRESS                                     Address[1];
00779 } 
ATM_SERVICE_ADDRESS_LIST, *
PATM_SERVICE_ADDRESS_LIST;
00780 
00781 
#endif  //      _ATM_H_
00782 
00783