Naveen Neel / shedskin
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers atm.h Source File

atm.h

00001 /*
00002  * atm.h
00003  *
00004  * ATM support
00005  *
00006  * This file is part of the w32api package.
00007  *
00008  * Contributors:
00009  *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
00010  *
00011  * THIS SOFTWARE IS NOT COPYRIGHTED
00012  *
00013  * This source code is offered for use in the public domain. You may
00014  * use, modify or distribute it freely.
00015  *
00016  * This code is distributed in the hope that it will be useful but
00017  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00018  * DISCLAIMED. This includes but is not limited to warranties of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00020  *
00021  */
00022 
00023 #ifndef __ATM_H
00024 #define __ATM_H
00025 
00026 #if __GNUC__ >=3
00027 #pragma GCC system_header
00028 #endif
00029 
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033 
00034 typedef ULONG   ATM_ADDRESSTYPE;
00035 
00036 #define SAP_TYPE_NSAP                           1
00037 #define SAP_TYPE_E164                           2
00038 
00039 #define ATM_MEDIA_SPECIFIC                1
00040 
00041 #define CALLMGR_SPECIFIC_Q2931            1
00042 
00043 #define ATM_NSAP                                  0
00044 #define ATM_E164                                  1
00045 
00046 #define ATM_MAC_ADDRESS_LENGTH            6
00047 #define ATM_ADDRESS_LENGTH                  20
00048 
00049 typedef ULONG   ATM_AAL_TYPE, *PATM_AAL_TYPE;
00050 
00051 #define AAL_TYPE_AAL0                           1
00052 #define AAL_TYPE_AAL1                           2
00053 #define AAL_TYPE_AAL34                        4
00054 #define AAL_TYPE_AAL5                           8
00055 
00056 #define ATM_ADDR_BLANK_CHAR                     L' '
00057 #define ATM_ADDR_E164_START_CHAR              L'+'
00058 #define ATM_ADDR_PUNCTUATION_CHAR             L'.'
00059 
00060 typedef enum {
00061     IE_AALParameters,
00062     IE_TrafficDescriptor,
00063     IE_BroadbandBearerCapability,
00064     IE_BHLI,
00065     IE_BLLI,
00066     IE_CalledPartyNumber,
00067     IE_CalledPartySubaddress,
00068     IE_CallingPartyNumber,
00069     IE_CallingPartySubaddress,
00070     IE_Cause,
00071     IE_QOSClass,
00072     IE_TransitNetworkSelection,
00073     IE_BroadbandSendingComplete,
00074     IE_LIJCallId,
00075     IE_Raw
00076 } Q2931_IE_TYPE;
00077 
00078 typedef struct _Q2931_IE {
00079   Q2931_IE_TYPE  IEType;
00080   ULONG  IELength;
00081   UCHAR  IE[1];
00082 } Q2931_IE, *PQ2931_IE;
00083 
00084 typedef struct _AAL1_PARAMETERS {
00085   UCHAR  Subtype;
00086   UCHAR  CBRRate;
00087   USHORT  Multiplier;
00088   UCHAR  SourceClockRecoveryMethod;
00089   UCHAR  ErrorCorrectionMethod;
00090   USHORT  StructuredDataTransferBlocksize;
00091   UCHAR  PartiallyFilledCellsMethod;
00092 } AAL1_PARAMETERS, *PAAL1_PARAMETERS;
00093 
00094 typedef struct _AAL34_PARAMETERS {
00095   USHORT  ForwardMaxCPCSSDUSize;
00096   USHORT  BackwardMaxCPCSSDUSize;
00097   USHORT  LowestMID;
00098   USHORT  HighestMID;
00099   UCHAR  SSCSType;
00100 } AAL34_PARAMETERS, *PAAL34_PARAMETERS;
00101 
00102 /* AAL5_PARAMETERS.Mode constants */
00103 #define AAL5_MODE_MESSAGE                       0x01
00104 #define AAL5_MODE_STREAMING                   0x02
00105 
00106 /* AAL5_PARAMETERS.SSCSType constants */
00107 #define AAL5_SSCS_NULL                          0x00
00108 #define AAL5_SSCS_SSCOP_ASSURED             0x01
00109 #define AAL5_SSCS_SSCOP_NON_ASSURED       0x02
00110 #define AAL5_SSCS_FRAME_RELAY                 0x04
00111 
00112 typedef struct _AAL5_PARAMETERS {
00113   ULONG  ForwardMaxCPCSSDUSize;
00114   ULONG  BackwardMaxCPCSSDUSize;
00115   UCHAR  Mode;
00116   UCHAR  SSCSType;
00117 } AAL5_PARAMETERS, *PAAL5_PARAMETERS;
00118 
00119 typedef struct _AALUSER_PARAMETERS {
00120   ULONG  UserDefined;
00121 } AALUSER_PARAMETERS, *PAALUSER_PARAMETERS;
00122 
00123 typedef struct _AAL_PARAMETERS_IE {
00124   ATM_AAL_TYPE  AALType;
00125   union {
00126     AAL1_PARAMETERS  AAL1Parameters;
00127     AAL34_PARAMETERS  AAL34Parameters;
00128     AAL5_PARAMETERS  AAL5Parameters;
00129     AALUSER_PARAMETERS  AALUserParameters;
00130   } AALSpecificParameters;
00131 } AAL_PARAMETERS_IE, *PAAL_PARAMETERS_IE;
00132 
00133 
00134 /* FIXME: Should the union be anonymous in C++ too?  If so,
00135    can't define named types _ATM_AAL5_INFO and _ATM_AAL0_INFO
00136    within anonymous union for C++. */
00137 typedef struct _ATM_AAL_OOB_INFO
00138 {
00139     ATM_AAL_TYPE  AalType;
00140 #ifndef __cplusplus
00141     _ANONYMOUS_UNION
00142 #endif
00143     union {
00144         struct _ATM_AAL5_INFO {
00145             BOOLEAN  CellLossPriority;
00146             UCHAR  UserToUserIndication;
00147             UCHAR  CommonPartIndicator;
00148         } ATM_AAL5_INFO;
00149         
00150         struct _ATM_AAL0_INFO {
00151             BOOLEAN  CellLossPriority;
00152             UCHAR  PayLoadTypeIdentifier;
00153         } ATM_AAL0_INFO;
00154 #ifndef __cplusplus
00155     } DUMMYUNIONNAME;
00156 #else
00157     } u;
00158 #endif
00159 } ATM_AAL_OOB_INFO, *PATM_AAL_OOB_INFO;
00160 
00161 typedef struct _ATM_ADDRESS  { 
00162   ATM_ADDRESSTYPE  AddressType; 
00163   ULONG  NumberOfDigits; 
00164   UCHAR  Address[ATM_ADDRESS_LENGTH]; 
00165 } ATM_ADDRESS, *PATM_ADDRESS;
00166 
00167 /* ATM_BHLI_IE.HighLayerInfoType constants */
00168 #define BHLI_ISO                                  0x00
00169 #define BHLI_UserSpecific                     0x01
00170 #define BHLI_HighLayerProfile               0x02
00171 #define BHLI_VendorSpecificAppId          0x03
00172 
00173 typedef struct _ATM_BHLI_IE {
00174   ULONG  HighLayerInfoType;
00175   ULONG  HighLayerInfoLength;
00176   UCHAR  HighLayerInfo[8];
00177 } ATM_BHLI_IE, *PATM_BHLI_IE;
00178 
00179 /* ATM_BLLI_IE.Layer2Protocol constants */
00180 #define BLLI_L2_ISO_1745                      0x01
00181 #define BLLI_L2_Q921                            0x02
00182 #define BLLI_L2_X25L                            0x06
00183 #define BLLI_L2_X25M                            0x07
00184 #define BLLI_L2_ELAPB                           0x08
00185 #define BLLI_L2_HDLC_ARM                      0x09
00186 #define BLLI_L2_HDLC_NRM                      0x0A
00187 #define BLLI_L2_HDLC_ABM                      0x0B
00188 #define BLLI_L2_LLC                             0x0C
00189 #define BLLI_L2_X75                             0x0D
00190 #define BLLI_L2_Q922                            0x0E
00191 #define BLLI_L2_USER_SPECIFIED            0x10
00192 #define BLLI_L2_ISO_7776                      0x11
00193 
00194 /* ATM_BLLI_IE.Layer3Protocol constants */
00195 #define BLLI_L3_X25                             0x06
00196 #define BLLI_L3_ISO_8208                      0x07
00197 #define BLLI_L3_X223                            0x08
00198 #define BLLI_L3_SIO_8473                      0x09
00199 #define BLLI_L3_T70                             0x0A
00200 #define BLLI_L3_ISO_TR9577                  0x0B
00201 #define BLLI_L3_USER_SPECIFIED            0x10
00202 
00203 /* ATM_BLLI_IE.Layer3IPI constants */
00204 #define BLLI_L3_IPI_SNAP                      0x80
00205 #define BLLI_L3_IPI_IP                        0xCC
00206 
00207 typedef struct _ATM_BLLI_IE {
00208   ULONG  Layer2Protocol;
00209   UCHAR  Layer2Mode;
00210   UCHAR  Layer2WindowSize;
00211   ULONG  Layer2UserSpecifiedProtocol;
00212   ULONG  Layer3Protocol;
00213   UCHAR  Layer3Mode;
00214   UCHAR  Layer3DefaultPacketSize;
00215   UCHAR  Layer3PacketWindowSize;
00216   ULONG  Layer3UserSpecifiedProtocol;
00217   ULONG  Layer3IPI;
00218   UCHAR  SnapId[5];
00219 } ATM_BLLI_IE, *PATM_BLLI_IE;
00220 
00221 /* ATM_BROADBAND_BEARER_CAPABILITY_IE.BearerClass constants */
00222 #define BCOB_A                                    0x00
00223 #define BCOB_C                                    0x01
00224 #define BCOB_X                                    0x02
00225 
00226 /* ATM_BROADBAND_BEARER_CAPABILITY_IE.TrafficType constants */
00227 #define TT_NOIND                                  0x00
00228 #define TT_CBR                                    0x04
00229 #define TT_VBR                                    0x08
00230 
00231 /* ATM_BROADBAND_BEARER_CAPABILITY_IE.TimingRequirements constants */
00232 #define TR_NOIND                                  0x00
00233 #define TR_END_TO_END                           0x01
00234 #define TR_NO_END_TO_END                      0x02
00235 
00236 /* ATM_BROADBAND_BEARER_CAPABILITY_IE.ClippingSusceptability constants */
00237 #define CLIP_NOT                                  0x00
00238 #define CLIP_SUS                                  0x20
00239 
00240 /* ATM_BROADBAND_BEARER_CAPABILITY_IE.UserPlaneConnectionConfig constants */
00241 #define UP_P2P                                    0x00
00242 #define UP_P2MP                                   0x01
00243 
00244 typedef struct _ATM_BROADBAND_BEARER_CAPABILITY_IE {
00245   UCHAR  BearerClass;
00246   UCHAR  TrafficType;
00247   UCHAR  TimingRequirements;
00248   UCHAR  ClippingSusceptability;
00249   UCHAR  UserPlaneConnectionConfig;
00250 } ATM_BROADBAND_BEARER_CAPABILITY_IE, *PATM_BROADBAND_BEARER_CAPABILITY_IE;
00251 
00252 typedef struct _ATM_BROADBAND_SENDING_COMPLETE_IE {
00253   UCHAR  SendingComplete;
00254 } ATM_BROADBAND_SENDING_COMPLETE_IE, *PATM_BROADBAND_SENDING_COMPLETE_IE;
00255 
00256 typedef struct _ATM_CALLING_PARTY_NUMBER_IE {
00257   ATM_ADDRESS  Number;
00258   UCHAR  PresentationIndication;
00259   UCHAR  ScreeningIndicator;
00260 } ATM_CALLING_PARTY_NUMBER_IE, *PATM_CALLING_PARTY_NUMBER_IE;
00261 
00262 /* ATM_CAUSE_IE.Location constants */
00263 #define ATM_CAUSE_LOC_USER                    0x00
00264 #define ATM_CAUSE_LOC_PRIVATE_LOCAL           0x01
00265 #define ATM_CAUSE_LOC_PUBLIC_LOCAL            0x02
00266 #define ATM_CAUSE_LOC_TRANSIT_NETWORK         0x03
00267 #define ATM_CAUSE_LOC_PUBLIC_REMOTE           0x04
00268 #define ATM_CAUSE_LOC_PRIVATE_REMOTE          0x05
00269 #define ATM_CAUSE_LOC_INTERNATIONAL_NETWORK   0x07
00270 #define ATM_CAUSE_LOC_BEYOND_INTERWORKING     0x0A
00271 
00272 /* ATM_CAUSE_IE.Cause constants */
00273 #define ATM_CAUSE_UNALLOCATED_NUMBER                0x01
00274 #define ATM_CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK       0x02
00275 #define ATM_CAUSE_NO_ROUTE_TO_DESTINATION           0x03
00276 #define ATM_CAUSE_VPI_VCI_UNACCEPTABLE              0x0A
00277 #define ATM_CAUSE_NORMAL_CALL_CLEARING              0x10
00278 #define ATM_CAUSE_USER_BUSY                         0x11
00279 #define ATM_CAUSE_NO_USER_RESPONDING                0x12
00280 #define ATM_CAUSE_CALL_REJECTED                     0x15
00281 #define ATM_CAUSE_NUMBER_CHANGED                    0x16
00282 #define ATM_CAUSE_USER_REJECTS_CLIR                 0x17
00283 #define ATM_CAUSE_DESTINATION_OUT_OF_ORDER          0x1B
00284 #define ATM_CAUSE_INVALID_NUMBER_FORMAT             0x1C
00285 #define ATM_CAUSE_STATUS_ENQUIRY_RESPONSE           0x1E
00286 #define ATM_CAUSE_NORMAL_UNSPECIFIED                0x1F
00287 #define ATM_CAUSE_VPI_VCI_UNAVAILABLE               0x23
00288 #define ATM_CAUSE_NETWORK_OUT_OF_ORDER              0x26
00289 #define ATM_CAUSE_TEMPORARY_FAILURE                 0x29
00290 #define ATM_CAUSE_ACCESS_INFORMAION_DISCARDED       0x2B
00291 #define ATM_CAUSE_NO_VPI_VCI_AVAILABLE              0x2D
00292 #define ATM_CAUSE_RESOURCE_UNAVAILABLE              0x2F
00293 #define ATM_CAUSE_QOS_UNAVAILABLE                   0x31
00294 #define ATM_CAUSE_USER_CELL_RATE_UNAVAILABLE        0x33
00295 #define ATM_CAUSE_BEARER_CAPABILITY_UNAUTHORIZED    0x39
00296 #define ATM_CAUSE_BEARER_CAPABILITY_UNAVAILABLE     0x3A
00297 #define ATM_CAUSE_OPTION_UNAVAILABLE                0x3F
00298 #define ATM_CAUSE_BEARER_CAPABILITY_UNIMPLEMENTED   0x41
00299 #define ATM_CAUSE_UNSUPPORTED_TRAFFIC_PARAMETERS    0x49
00300 #define ATM_CAUSE_INVALID_CALL_REFERENCE            0x51
00301 #define ATM_CAUSE_CHANNEL_NONEXISTENT               0x52
00302 #define ATM_CAUSE_INCOMPATIBLE_DESTINATION          0x58
00303 #define ATM_CAUSE_INVALID_ENDPOINT_REFERENCE        0x59
00304 #define ATM_CAUSE_INVALID_TRANSIT_NETWORK_SELECTION 0x5B
00305 #define ATM_CAUSE_TOO_MANY_PENDING_ADD_PARTY        0x5C
00306 #define ATM_CAUSE_AAL_PARAMETERS_UNSUPPORTED        0x5D
00307 #define ATM_CAUSE_MANDATORY_IE_MISSING              0x60
00308 #define ATM_CAUSE_UNIMPLEMENTED_MESSAGE_TYPE        0x61
00309 #define ATM_CAUSE_UNIMPLEMENTED_IE                  0x63
00310 #define ATM_CAUSE_INVALID_IE_CONTENTS               0x64
00311 #define ATM_CAUSE_INVALID_STATE_FOR_MESSAGE         0x65
00312 #define ATM_CAUSE_RECOVERY_ON_TIMEOUT               0x66
00313 #define ATM_CAUSE_INCORRECT_MESSAGE_LENGTH          0x68
00314 #define ATM_CAUSE_PROTOCOL_ERROR                    0x6F
00315 
00316 /* ATM_CAUSE_IE.Diagnostics constants */
00317 #define ATM_CAUSE_COND_UNKNOWN            0x00
00318 #define ATM_CAUSE_COND_PERMANENT          0x01
00319 #define ATM_CAUSE_COND_TRANSIENT          0x02
00320 #define ATM_CAUSE_REASON_USER             0x00
00321 #define ATM_CAUSE_REASON_IE_MISSING       0x04
00322 #define ATM_CAUSE_REASON_IE_INSUFFICIENT  0x08
00323 #define ATM_CAUSE_PU_PROVIDER             0x00
00324 #define ATM_CAUSE_PU_USER                 0x08
00325 #define ATM_CAUSE_NA_NORMAL               0x00
00326 #define ATM_CAUSE_NA_ABNORMAL             0x04
00327 
00328 typedef struct _ATM_CAUSE_IE {
00329   UCHAR  Location;
00330   UCHAR  Cause;
00331   UCHAR  DiagnosticsLength;
00332   UCHAR  Diagnostics[4];
00333 } ATM_CAUSE_IE, *PATM_CAUSE_IE;
00334 
00335 
00336 typedef ULONG   ATM_SERVICE_CATEGORY, *PATM_SERVICE_CATEGORY;
00337 
00338 /* ATM_FLOW_PARAMETERS.ServiceCategory constants */
00339 #define ATM_SERVICE_CATEGORY_CBR            1
00340 #define ATM_SERVICE_CATEGORY_VBR            2
00341 #define ATM_SERVICE_CATEGORY_UBR            4
00342 #define ATM_SERVICE_CATEGORY_ABR            8
00343 
00344 /* ATM_FLOW_PARAMETERS.Reserved1 constants */
00345 #define ATM_FLOW_PARAMS_RSVD1_MPP           0x01
00346 
00347 typedef struct _ATM_FLOW_PARAMETERS {
00348   ATM_SERVICE_CATEGORY  ServiceCategory;
00349   ULONG  AverageCellRate;
00350   ULONG  PeakCellRate;
00351   ULONG  MinimumCellRate;
00352   ULONG  InitialCellRate;
00353   ULONG  BurstLengthCells;
00354   ULONG  MaxSduSize;
00355   ULONG  TransientBufferExposure;
00356   ULONG  CumulativeRMFixedRTT;
00357   UCHAR  RateIncreaseFactor;
00358   UCHAR  RateDecreaseFactor;
00359   USHORT  ACRDecreaseTimeFactor;
00360   UCHAR  MaximumCellsPerForwardRMCell;
00361   UCHAR  MaximumForwardRMCellInterval;
00362   UCHAR  CutoffDecreaseFactor;
00363   UCHAR  Reserved1;
00364   ULONG  MissingRMCellCount;
00365   ULONG  Reserved2;
00366   ULONG  Reserved3;
00367 } ATM_FLOW_PARAMETERS, *PATM_FLOW_PARAMETERS;
00368 
00369 typedef struct _ATM_VPIVCI {
00370   ULONG  Vpi;
00371   ULONG  Vci;
00372 } ATM_VPIVCI, *PATM_VPIVCI;
00373 
00374 typedef struct _ATM_MEDIA_PARAMETERS {
00375   ATM_VPIVCI  ConnectionId;
00376   ATM_AAL_TYPE  AALType;
00377   ULONG  CellDelayVariationCLP0;
00378   ULONG  CellDelayVariationCLP1;
00379   ULONG  CellLossRatioCLP0;
00380   ULONG  CellLossRatioCLP1;
00381   ULONG  CellTransferDelayCLP0;
00382   ULONG  CellTransferDelayCLP1;
00383   ULONG  DefaultCLP;
00384   ATM_FLOW_PARAMETERS  Transmit;
00385   ATM_FLOW_PARAMETERS  Receive;
00386 } ATM_MEDIA_PARAMETERS, *PATM_MEDIA_PARAMETERS;
00387 
00388 typedef struct _ATM_PVC_SAP {
00389   ATM_BLLI_IE  Blli;
00390   ATM_BHLI_IE  Bhli;
00391 } ATM_PVC_SAP, *PATM_PVC_SAP;
00392 
00393 /* ATM_QOS_CLASS_IE constants */
00394 #define QOS_CLASS0                              0x00
00395 #define QOS_CLASS1                              0x01
00396 #define QOS_CLASS2                              0x02
00397 #define QOS_CLASS3                              0x03
00398 #define QOS_CLASS4                              0x04
00399 
00400 typedef struct _ATM_QOS_CLASS_IE {
00401   UCHAR  QOSClassForward;
00402   UCHAR  QOSClassBackward;
00403 } ATM_QOS_CLASS_IE, *PATM_QOS_CLASS_IE;
00404 
00405 typedef struct _ATM_RAW_IE {
00406   ULONG  RawIELength;
00407   ULONG  RawIEType;
00408   UCHAR  RawIEValue[1];
00409 } ATM_RAW_IE, *PATM_RAW_IE;
00410 
00411 typedef struct _ATM_SAP {
00412   ATM_BLLI_IE  Blli;
00413   ATM_BHLI_IE  Bhli;
00414   ULONG  NumberOfAddresses;
00415   UCHAR  Addresses[1];
00416 } ATM_SAP, *PATM_SAP;
00417 
00418 typedef struct _ATM_TRAFFIC_DESCRIPTOR {
00419   ULONG  PeakCellRateCLP0;
00420   ULONG  PeakCellRateCLP01;
00421   ULONG  SustainableCellRateCLP0;
00422   ULONG  SustainableCellRateCLP01;
00423   ULONG  MaximumBurstSizeCLP0;
00424   ULONG  MaximumBurstSizeCLP01;
00425   BOOLEAN  BestEffort;
00426   BOOLEAN  Tagging;
00427 } ATM_TRAFFIC_DESCRIPTOR, *PATM_TRAFFIC_DESCRIPTOR;
00428 
00429 typedef struct _ATM_TRAFFIC_DESCRIPTOR_IE {
00430   ATM_TRAFFIC_DESCRIPTOR  ForwardTD;
00431   ATM_TRAFFIC_DESCRIPTOR  BackwardTD;
00432   BOOLEAN  BestEffort;
00433 } ATM_TRAFFIC_DESCRIPTOR_IE, *PATM_TRAFFIC_DESCRIPTOR_IE;
00434 
00435 /* ATM_TRANSIT_NETWORK_SELECTION_IE.TypeOfNetworkId constants */
00436 #define TNS_TYPE_NATIONAL                       0x40
00437 
00438 /* ATM_TRANSIT_NETWORK_SELECTION_IE.NetworkIdPlan constants */
00439 #define TNS_PLAN_CARRIER_ID_CODE            0x01
00440 
00441 typedef struct _ATM_TRANSIT_NETWORK_SELECTION_IE {
00442   UCHAR  TypeOfNetworkId;
00443   UCHAR  NetworkIdPlan;
00444   UCHAR  NetworkIdLength;
00445   UCHAR  NetworkId[1];
00446 } ATM_TRANSIT_NETWORK_SELECTION_IE, *PATM_TRANSIT_NETWORK_SELECTION_IE;
00447 
00448 typedef struct _ATM_LIJ_CALLID_IE {
00449     ULONG  Identifier;
00450 } ATM_LIJ_CALLID_IE, *PATM_LIJ_CALLID_IE;
00451 
00452 /* Q2931_ADD_PVC.Flags constants */
00453 #define CO_FLAG_SIGNALING_VC              0x00000001
00454 #define CO_FLAG_NO_DEST_SAP               0x00000002
00455 
00456 typedef struct _Q2931_ADD_PVC {
00457   ATM_ADDRESS  CalledParty;
00458   ATM_ADDRESS  CallingParty;
00459   ATM_VPIVCI  ConnectionId;
00460   ATM_AAL_TYPE  AALType;
00461   ATM_FLOW_PARAMETERS  ForwardFP;
00462   ATM_FLOW_PARAMETERS  BackwardFP;
00463   ULONG  Flags;
00464   ATM_PVC_SAP  LocalSap;
00465   ATM_PVC_SAP  DestinationSap;
00466   BOOLEAN  LIJIdPresent;
00467   ATM_LIJ_CALLID_IE  LIJId;
00468 } Q2931_ADD_PVC, *PQ2931_ADD_PVC;
00469 
00470 typedef struct _Q2931_DELETE_PVC {
00471   ATM_VPIVCI  ConnectionId;
00472 } Q2931_DELETE_PVC, *PQ2931_DELETE_PVC;
00473 
00474 typedef ATM_ADDRESS ATM_CALLED_PARTY_NUMBER_IE;
00475 typedef ATM_ADDRESS ATM_CALLED_PARTY_SUBADDRESS_IE;
00476 typedef ATM_ADDRESS ATM_CALLING_PARTY_SUBADDRESS_IE;
00477 
00478 typedef struct _Q2931_CALLMGR_PARAMETERS {
00479   ATM_ADDRESS  CalledParty;
00480   ATM_ADDRESS  CallingParty;
00481   ULONG  InfoElementCount;
00482   UCHAR  InfoElements[1];
00483 } Q2931_CALLMGR_PARAMETERS, *PQ2931_CALLMGR_PARAMETERS;
00484 
00485 typedef struct _ATM_VC_RATES_SUPPORTED {
00486   ULONG  MinCellRate;
00487   ULONG  MaxCellRate;
00488 } ATM_VC_RATES_SUPPORTED, *PATM_VC_RATES_SUPPORTED;
00489 
00490 typedef ULONG ATM_SERVICE_REGISTRY_TYPE;
00491 
00492 /* ATM_SERVICE_ADDRESS_LIST.ServiceRegistryType constants */
00493 #define ATM_SERVICE_REGISTRY_LECS             1
00494 #define ATM_SERVICE_REGISTRY_ANS              2
00495 
00496 typedef struct _ATM_SERVICE_ADDRESS_LIST {
00497   ATM_SERVICE_REGISTRY_TYPE  ServiceRegistryType;
00498   ULONG  NumberOfAddressesAvailable;
00499   ULONG  NumberOfAddressesReturned;
00500   ATM_ADDRESS  Address[1];
00501 } ATM_SERVICE_ADDRESS_LIST, *PATM_SERVICE_ADDRESS_LIST;
00502 
00503 #ifdef __cplusplus
00504 }
00505 #endif
00506 
00507 #endif /* __ATM_H */