1 /* 2 * atm.h 3 * 4 * ATM support 5 * 6 * This file is part of the w32api package. 7 * 8 * Contributors: 9 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net> 10 * 11 * THIS SOFTWARE IS NOT COPYRIGHTED 12 * 13 * This source code is offered for use in the public domain. You may 14 * use, modify or distribute it freely. 15 * 16 * This code is distributed in the hope that it will be useful but 17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 18 * DISCLAIMED. This includes but is not limited to warranties of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 20 * 21 */ 22 23 #pragma once 24 25 #ifdef __cplusplus 26 extern "C" { 27 #endif 28 29 typedef ULONG ATM_ADDRESSTYPE; 30 31 #define SAP_TYPE_NSAP 1 32 #define SAP_TYPE_E164 2 33 34 #define ATM_MEDIA_SPECIFIC 1 35 36 #define CALLMGR_SPECIFIC_Q2931 1 37 38 #define ATM_NSAP 0 39 #define ATM_E164 1 40 41 #define ATM_MAC_ADDRESS_LENGTH 6 42 #define ATM_ADDRESS_LENGTH 20 43 44 typedef ULONG ATM_AAL_TYPE, *PATM_AAL_TYPE; 45 46 #define AAL_TYPE_AAL0 1 47 #define AAL_TYPE_AAL1 2 48 #define AAL_TYPE_AAL34 4 49 #define AAL_TYPE_AAL5 8 50 51 #define ATM_ADDR_BLANK_CHAR L' ' 52 #define ATM_ADDR_E164_START_CHAR L'+' 53 #define ATM_ADDR_PUNCTUATION_CHAR L'.' 54 55 typedef enum _Q2931_IE_TYPE { 56 IE_AALParameters, 57 IE_TrafficDescriptor, 58 IE_BroadbandBearerCapability, 59 IE_BHLI, 60 IE_BLLI, 61 IE_CalledPartyNumber, 62 IE_CalledPartySubaddress, 63 IE_CallingPartyNumber, 64 IE_CallingPartySubaddress, 65 IE_Cause, 66 IE_QOSClass, 67 IE_TransitNetworkSelection, 68 IE_BroadbandSendingComplete, 69 IE_LIJCallId, 70 IE_Raw 71 } Q2931_IE_TYPE; 72 73 typedef struct _Q2931_IE { 74 Q2931_IE_TYPE IEType; 75 ULONG IELength; 76 UCHAR IE[1]; 77 } Q2931_IE, *PQ2931_IE; 78 79 typedef struct _AAL1_PARAMETERS { 80 UCHAR Subtype; 81 UCHAR CBRRate; 82 USHORT Multiplier; 83 UCHAR SourceClockRecoveryMethod; 84 UCHAR ErrorCorrectionMethod; 85 USHORT StructuredDataTransferBlocksize; 86 UCHAR PartiallyFilledCellsMethod; 87 } AAL1_PARAMETERS, *PAAL1_PARAMETERS; 88 89 typedef struct _AAL34_PARAMETERS { 90 USHORT ForwardMaxCPCSSDUSize; 91 USHORT BackwardMaxCPCSSDUSize; 92 USHORT LowestMID; 93 USHORT HighestMID; 94 UCHAR SSCSType; 95 } AAL34_PARAMETERS, *PAAL34_PARAMETERS; 96 97 /* AAL5_PARAMETERS.Mode constants */ 98 #define AAL5_MODE_MESSAGE 0x01 99 #define AAL5_MODE_STREAMING 0x02 100 101 /* AAL5_PARAMETERS.SSCSType constants */ 102 #define AAL5_SSCS_NULL 0x00 103 #define AAL5_SSCS_SSCOP_ASSURED 0x01 104 #define AAL5_SSCS_SSCOP_NON_ASSURED 0x02 105 #define AAL5_SSCS_FRAME_RELAY 0x04 106 107 typedef struct _AAL5_PARAMETERS { 108 ULONG ForwardMaxCPCSSDUSize; 109 ULONG BackwardMaxCPCSSDUSize; 110 UCHAR Mode; 111 UCHAR SSCSType; 112 } AAL5_PARAMETERS, *PAAL5_PARAMETERS; 113 114 typedef struct _AALUSER_PARAMETERS { 115 ULONG UserDefined; 116 } AALUSER_PARAMETERS, *PAALUSER_PARAMETERS; 117 118 typedef struct _AAL_PARAMETERS_IE { 119 ATM_AAL_TYPE AALType; 120 union { 121 AAL1_PARAMETERS AAL1Parameters; 122 AAL34_PARAMETERS AAL34Parameters; 123 AAL5_PARAMETERS AAL5Parameters; 124 AALUSER_PARAMETERS AALUserParameters; 125 } AALSpecificParameters; 126 } AAL_PARAMETERS_IE, *PAAL_PARAMETERS_IE; 127 128 struct _ATM_AAL5_INFO { 129 BOOLEAN CellLossPriority; 130 UCHAR UserToUserIndication; 131 UCHAR CommonPartIndicator; 132 }; 133 134 struct _ATM_AAL0_INFO { 135 BOOLEAN CellLossPriority; 136 UCHAR PayLoadTypeIdentifier; 137 }; 138 139 typedef struct _ATM_AAL_OOB_INFO { 140 ATM_AAL_TYPE AalType; 141 union { 142 struct _ATM_AAL5_INFO ATM_AAL5_INFO; 143 struct _ATM_AAL0_INFO ATM_AAL0_INFO; 144 }; 145 } ATM_AAL_OOB_INFO, *PATM_AAL_OOB_INFO; 146 147 typedef struct _ATM_ADDRESS { 148 ATM_ADDRESSTYPE AddressType; 149 ULONG NumberOfDigits; 150 UCHAR Address[ATM_ADDRESS_LENGTH]; 151 } ATM_ADDRESS, *PATM_ADDRESS; 152 153 #define ATM_PHYS_RATE_SONET_STS3C 155520000 154 #define ATM_PHYS_RATE_IBM_25 25600000 155 156 #define ATM_CELL_TRANSFER_CAPACITY_SONET_STS3C 149760000 157 #define ATM_CELL_TRANSFER_CAPACITY_IBM_25 25125926 158 159 #define ATM_USER_DATA_RATE_SONET_155 1356317 160 #define ATM_USER_DATA_RATE_IBM_25 227556 161 162 /* ATM_BHLI_IE.HighLayerInfoType constants */ 163 #define BHLI_ISO 0x00 164 #define BHLI_UserSpecific 0x01 165 #define BHLI_HighLayerProfile 0x02 166 #define BHLI_VendorSpecificAppId 0x03 167 168 typedef struct _ATM_BHLI_IE { 169 ULONG HighLayerInfoType; 170 ULONG HighLayerInfoLength; 171 UCHAR HighLayerInfo[8]; 172 } ATM_BHLI_IE, *PATM_BHLI_IE; 173 174 /* ATM_BLLI_IE.Layer2Protocol constants */ 175 #define BLLI_L2_ISO_1745 0x01 176 #define BLLI_L2_Q921 0x02 177 #define BLLI_L2_X25L 0x06 178 #define BLLI_L2_X25M 0x07 179 #define BLLI_L2_ELAPB 0x08 180 #define BLLI_L2_HDLC_ARM 0x09 181 #define BLLI_L2_HDLC_NRM 0x0A 182 #define BLLI_L2_HDLC_ABM 0x0B 183 #define BLLI_L2_LLC 0x0C 184 #define BLLI_L2_X75 0x0D 185 #define BLLI_L2_Q922 0x0E 186 #define BLLI_L2_USER_SPECIFIED 0x10 187 #define BLLI_L2_ISO_7776 0x11 188 189 /* ATM_BLLI_IE.Layer3Protocol constants */ 190 #define BLLI_L3_X25 0x06 191 #define BLLI_L3_ISO_8208 0x07 192 #define BLLI_L3_X223 0x08 193 #define BLLI_L3_SIO_8473 0x09 194 #define BLLI_L3_T70 0x0A 195 #define BLLI_L3_ISO_TR9577 0x0B 196 #define BLLI_L3_USER_SPECIFIED 0x10 197 198 /* ATM_BLLI_IE.Layer3IPI constants */ 199 #define BLLI_L3_IPI_SNAP 0x80 200 #define BLLI_L3_IPI_IP 0xCC 201 202 typedef struct _ATM_BLLI_IE { 203 ULONG Layer2Protocol; 204 UCHAR Layer2Mode; 205 UCHAR Layer2WindowSize; 206 ULONG Layer2UserSpecifiedProtocol; 207 ULONG Layer3Protocol; 208 UCHAR Layer3Mode; 209 UCHAR Layer3DefaultPacketSize; 210 UCHAR Layer3PacketWindowSize; 211 ULONG Layer3UserSpecifiedProtocol; 212 ULONG Layer3IPI; 213 UCHAR SnapId[5]; 214 } ATM_BLLI_IE, *PATM_BLLI_IE; 215 216 /* ATM_BROADBAND_BEARER_CAPABILITY_IE.BearerClass constants */ 217 #define BCOB_A 0x00 218 #define BCOB_C 0x01 219 #define BCOB_X 0x02 220 221 /* ATM_BROADBAND_BEARER_CAPABILITY_IE.TrafficType constants */ 222 #define TT_NOIND 0x00 223 #define TT_CBR 0x04 224 #define TT_VBR 0x08 225 226 /* ATM_BROADBAND_BEARER_CAPABILITY_IE.TimingRequirements constants */ 227 #define TR_NOIND 0x00 228 #define TR_END_TO_END 0x01 229 #define TR_NO_END_TO_END 0x02 230 231 /* ATM_BROADBAND_BEARER_CAPABILITY_IE.ClippingSusceptability constants */ 232 #define CLIP_NOT 0x00 233 #define CLIP_SUS 0x20 234 235 /* ATM_BROADBAND_BEARER_CAPABILITY_IE.UserPlaneConnectionConfig constants */ 236 #define UP_P2P 0x00 237 #define UP_P2MP 0x01 238 239 typedef struct _ATM_BROADBAND_BEARER_CAPABILITY_IE { 240 UCHAR BearerClass; 241 UCHAR TrafficType; 242 UCHAR TimingRequirements; 243 UCHAR ClippingSusceptability; 244 UCHAR UserPlaneConnectionConfig; 245 } ATM_BROADBAND_BEARER_CAPABILITY_IE, *PATM_BROADBAND_BEARER_CAPABILITY_IE; 246 247 typedef struct _ATM_BROADBAND_SENDING_COMPLETE_IE { 248 UCHAR SendingComplete; 249 } ATM_BROADBAND_SENDING_COMPLETE_IE, *PATM_BROADBAND_SENDING_COMPLETE_IE; 250 251 typedef struct _ATM_CALLING_PARTY_NUMBER_IE { 252 ATM_ADDRESS Number; 253 UCHAR PresentationIndication; 254 UCHAR ScreeningIndicator; 255 } ATM_CALLING_PARTY_NUMBER_IE, *PATM_CALLING_PARTY_NUMBER_IE; 256 257 /* ATM_CAUSE_IE.Location constants */ 258 #define ATM_CAUSE_LOC_USER 0x00 259 #define ATM_CAUSE_LOC_PRIVATE_LOCAL 0x01 260 #define ATM_CAUSE_LOC_PUBLIC_LOCAL 0x02 261 #define ATM_CAUSE_LOC_TRANSIT_NETWORK 0x03 262 #define ATM_CAUSE_LOC_PUBLIC_REMOTE 0x04 263 #define ATM_CAUSE_LOC_PRIVATE_REMOTE 0x05 264 #define ATM_CAUSE_LOC_INTERNATIONAL_NETWORK 0x07 265 #define ATM_CAUSE_LOC_BEYOND_INTERWORKING 0x0A 266 267 /* ATM_CAUSE_IE.Cause constants */ 268 #define ATM_CAUSE_UNALLOCATED_NUMBER 0x01 269 #define ATM_CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK 0x02 270 #define ATM_CAUSE_NO_ROUTE_TO_DESTINATION 0x03 271 #define ATM_CAUSE_VPI_VCI_UNACCEPTABLE 0x0A 272 #define ATM_CAUSE_NORMAL_CALL_CLEARING 0x10 273 #define ATM_CAUSE_USER_BUSY 0x11 274 #define ATM_CAUSE_NO_USER_RESPONDING 0x12 275 #define ATM_CAUSE_CALL_REJECTED 0x15 276 #define ATM_CAUSE_NUMBER_CHANGED 0x16 277 #define ATM_CAUSE_USER_REJECTS_CLIR 0x17 278 #define ATM_CAUSE_DESTINATION_OUT_OF_ORDER 0x1B 279 #define ATM_CAUSE_INVALID_NUMBER_FORMAT 0x1C 280 #define ATM_CAUSE_STATUS_ENQUIRY_RESPONSE 0x1E 281 #define ATM_CAUSE_NORMAL_UNSPECIFIED 0x1F 282 #define ATM_CAUSE_VPI_VCI_UNAVAILABLE 0x23 283 #define ATM_CAUSE_NETWORK_OUT_OF_ORDER 0x26 284 #define ATM_CAUSE_TEMPORARY_FAILURE 0x29 285 #define ATM_CAUSE_ACCESS_INFORMAION_DISCARDED 0x2B 286 #define ATM_CAUSE_NO_VPI_VCI_AVAILABLE 0x2D 287 #define ATM_CAUSE_RESOURCE_UNAVAILABLE 0x2F 288 #define ATM_CAUSE_QOS_UNAVAILABLE 0x31 289 #define ATM_CAUSE_USER_CELL_RATE_UNAVAILABLE 0x33 290 #define ATM_CAUSE_BEARER_CAPABILITY_UNAUTHORIZED 0x39 291 #define ATM_CAUSE_BEARER_CAPABILITY_UNAVAILABLE 0x3A 292 #define ATM_CAUSE_OPTION_UNAVAILABLE 0x3F 293 #define ATM_CAUSE_BEARER_CAPABILITY_UNIMPLEMENTED 0x41 294 #define ATM_CAUSE_UNSUPPORTED_TRAFFIC_PARAMETERS 0x49 295 #define ATM_CAUSE_INVALID_CALL_REFERENCE 0x51 296 #define ATM_CAUSE_CHANNEL_NONEXISTENT 0x52 297 #define ATM_CAUSE_INCOMPATIBLE_DESTINATION 0x58 298 #define ATM_CAUSE_INVALID_ENDPOINT_REFERENCE 0x59 299 #define ATM_CAUSE_INVALID_TRANSIT_NETWORK_SELECTION 0x5B 300 #define ATM_CAUSE_TOO_MANY_PENDING_ADD_PARTY 0x5C 301 #define ATM_CAUSE_AAL_PARAMETERS_UNSUPPORTED 0x5D 302 #define ATM_CAUSE_MANDATORY_IE_MISSING 0x60 303 #define ATM_CAUSE_UNIMPLEMENTED_MESSAGE_TYPE 0x61 304 #define ATM_CAUSE_UNIMPLEMENTED_IE 0x63 305 #define ATM_CAUSE_INVALID_IE_CONTENTS 0x64 306 #define ATM_CAUSE_INVALID_STATE_FOR_MESSAGE 0x65 307 #define ATM_CAUSE_RECOVERY_ON_TIMEOUT 0x66 308 #define ATM_CAUSE_INCORRECT_MESSAGE_LENGTH 0x68 309 #define ATM_CAUSE_PROTOCOL_ERROR 0x6F 310 311 /* ATM_CAUSE_IE.Diagnostics constants */ 312 #define ATM_CAUSE_COND_UNKNOWN 0x00 313 #define ATM_CAUSE_COND_PERMANENT 0x01 314 #define ATM_CAUSE_COND_TRANSIENT 0x02 315 #define ATM_CAUSE_REASON_USER 0x00 316 #define ATM_CAUSE_REASON_IE_MISSING 0x04 317 #define ATM_CAUSE_REASON_IE_INSUFFICIENT 0x08 318 #define ATM_CAUSE_PU_PROVIDER 0x00 319 #define ATM_CAUSE_PU_USER 0x08 320 #define ATM_CAUSE_NA_NORMAL 0x00 321 #define ATM_CAUSE_NA_ABNORMAL 0x04 322 323 typedef struct _ATM_CAUSE_IE { 324 UCHAR Location; 325 UCHAR Cause; 326 UCHAR DiagnosticsLength; 327 UCHAR Diagnostics[4]; 328 } ATM_CAUSE_IE, *PATM_CAUSE_IE; 329 330 331 typedef ULONG ATM_SERVICE_CATEGORY, *PATM_SERVICE_CATEGORY; 332 333 /* ATM_FLOW_PARAMETERS.ServiceCategory constants */ 334 #define ATM_SERVICE_CATEGORY_CBR 1 335 #define ATM_SERVICE_CATEGORY_VBR 2 336 #define ATM_SERVICE_CATEGORY_UBR 4 337 #define ATM_SERVICE_CATEGORY_ABR 8 338 339 /* ATM_FLOW_PARAMETERS.Reserved1 constants */ 340 #define ATM_FLOW_PARAMS_RSVD1_MPP 0x01 341 342 #ifndef SAP_FIELD_ABSENT 343 #define SAP_FIELD_ABSENT ((ULONG)0xfffffffe) 344 #endif 345 346 #ifndef SAP_FIELD_ANY 347 #define SAP_FIELD_ANY ((ULONG)0xffffffff) 348 #endif 349 350 #define SAP_FIELD_ANY_AESA_SEL ((ULONG)0xfffffffa) 351 #define SAP_FIELD_ANY_AESA_REST ((ULONG)0xfffffffb) 352 353 typedef struct _ATM_FLOW_PARAMETERS { 354 ATM_SERVICE_CATEGORY ServiceCategory; 355 ULONG AverageCellRate; 356 ULONG PeakCellRate; 357 ULONG MinimumCellRate; 358 ULONG InitialCellRate; 359 ULONG BurstLengthCells; 360 ULONG MaxSduSize; 361 ULONG TransientBufferExposure; 362 ULONG CumulativeRMFixedRTT; 363 UCHAR RateIncreaseFactor; 364 UCHAR RateDecreaseFactor; 365 USHORT ACRDecreaseTimeFactor; 366 UCHAR MaximumCellsPerForwardRMCell; 367 UCHAR MaximumForwardRMCellInterval; 368 UCHAR CutoffDecreaseFactor; 369 UCHAR Reserved1; 370 ULONG MissingRMCellCount; 371 ULONG Reserved2; 372 ULONG Reserved3; 373 } ATM_FLOW_PARAMETERS, *PATM_FLOW_PARAMETERS; 374 375 typedef struct _ATM_VPIVCI { 376 ULONG Vpi; 377 ULONG Vci; 378 } ATM_VPIVCI, *PATM_VPIVCI; 379 380 typedef struct _ATM_MEDIA_PARAMETERS { 381 ATM_VPIVCI ConnectionId; 382 ATM_AAL_TYPE AALType; 383 ULONG CellDelayVariationCLP0; 384 ULONG CellDelayVariationCLP1; 385 ULONG CellLossRatioCLP0; 386 ULONG CellLossRatioCLP1; 387 ULONG CellTransferDelayCLP0; 388 ULONG CellTransferDelayCLP1; 389 ULONG DefaultCLP; 390 ATM_FLOW_PARAMETERS Transmit; 391 ATM_FLOW_PARAMETERS Receive; 392 } ATM_MEDIA_PARAMETERS, *PATM_MEDIA_PARAMETERS; 393 394 typedef struct _ATM_PVC_SAP { 395 ATM_BLLI_IE Blli; 396 ATM_BHLI_IE Bhli; 397 } ATM_PVC_SAP, *PATM_PVC_SAP; 398 399 /* ATM_QOS_CLASS_IE constants */ 400 #define QOS_CLASS0 0x00 401 #define QOS_CLASS1 0x01 402 #define QOS_CLASS2 0x02 403 #define QOS_CLASS3 0x03 404 #define QOS_CLASS4 0x04 405 406 typedef struct _ATM_QOS_CLASS_IE { 407 UCHAR QOSClassForward; 408 UCHAR QOSClassBackward; 409 } ATM_QOS_CLASS_IE, *PATM_QOS_CLASS_IE; 410 411 typedef struct _ATM_RAW_IE { 412 ULONG RawIELength; 413 ULONG RawIEType; 414 UCHAR RawIEValue[1]; 415 } ATM_RAW_IE, *PATM_RAW_IE; 416 417 typedef struct _ATM_SAP { 418 ATM_BLLI_IE Blli; 419 ATM_BHLI_IE Bhli; 420 ULONG NumberOfAddresses; 421 UCHAR Addresses[1]; 422 } ATM_SAP, *PATM_SAP; 423 424 typedef struct _ATM_TRAFFIC_DESCRIPTOR { 425 ULONG PeakCellRateCLP0; 426 ULONG PeakCellRateCLP01; 427 ULONG SustainableCellRateCLP0; 428 ULONG SustainableCellRateCLP01; 429 ULONG MaximumBurstSizeCLP0; 430 ULONG MaximumBurstSizeCLP01; 431 BOOLEAN Tagging; 432 } ATM_TRAFFIC_DESCRIPTOR, *PATM_TRAFFIC_DESCRIPTOR; 433 434 typedef struct _ATM_TRAFFIC_DESCRIPTOR_IE { 435 ATM_TRAFFIC_DESCRIPTOR ForwardTD; 436 ATM_TRAFFIC_DESCRIPTOR BackwardTD; 437 BOOLEAN BestEffort; 438 } ATM_TRAFFIC_DESCRIPTOR_IE, *PATM_TRAFFIC_DESCRIPTOR_IE; 439 440 /* ATM_TRANSIT_NETWORK_SELECTION_IE.TypeOfNetworkId constants */ 441 #define TNS_TYPE_NATIONAL 0x40 442 443 /* ATM_TRANSIT_NETWORK_SELECTION_IE.NetworkIdPlan constants */ 444 #define TNS_PLAN_CARRIER_ID_CODE 0x01 445 446 typedef struct _ATM_TRANSIT_NETWORK_SELECTION_IE { 447 UCHAR TypeOfNetworkId; 448 UCHAR NetworkIdPlan; 449 UCHAR NetworkIdLength; 450 UCHAR NetworkId[1]; 451 } ATM_TRANSIT_NETWORK_SELECTION_IE, *PATM_TRANSIT_NETWORK_SELECTION_IE; 452 453 typedef struct _ATM_LIJ_CALLID_IE { 454 ULONG Identifier; 455 } ATM_LIJ_CALLID_IE, *PATM_LIJ_CALLID_IE; 456 457 /* Q2931_ADD_PVC.Flags constants */ 458 #define CO_FLAG_SIGNALING_VC 0x00000001 459 #define CO_FLAG_NO_DEST_SAP 0x00000002 460 #define CO_FLAG_NO_LOCAL_SAP 0x00000004 461 462 typedef struct _Q2931_ADD_PVC { 463 ATM_ADDRESS CalledParty; 464 ATM_ADDRESS CallingParty; 465 ATM_VPIVCI ConnectionId; 466 ATM_AAL_TYPE AALType; 467 ATM_FLOW_PARAMETERS ForwardFP; 468 ATM_FLOW_PARAMETERS BackwardFP; 469 ULONG Flags; 470 ATM_PVC_SAP LocalSap; 471 ATM_PVC_SAP DestinationSap; 472 BOOLEAN LIJIdPresent; 473 ATM_LIJ_CALLID_IE LIJId; 474 } Q2931_ADD_PVC, *PQ2931_ADD_PVC; 475 476 typedef struct _Q2931_DELETE_PVC { 477 ATM_VPIVCI ConnectionId; 478 } Q2931_DELETE_PVC, *PQ2931_DELETE_PVC; 479 480 typedef struct _CO_GET_CALL_INFORMATION { 481 ULONG CallInfoType; 482 ULONG CallInfoLength; 483 PVOID CallInfoBuffer; 484 } CO_GET_CALL_INFORMATION, *PCO_GET_CALL_INFORMATION; 485 486 typedef ATM_ADDRESS ATM_CALLED_PARTY_NUMBER_IE; 487 typedef ATM_ADDRESS ATM_CALLED_PARTY_SUBADDRESS_IE; 488 typedef ATM_ADDRESS ATM_CALLING_PARTY_SUBADDRESS_IE; 489 490 typedef struct _Q2931_CALLMGR_PARAMETERS { 491 ATM_ADDRESS CalledParty; 492 ATM_ADDRESS CallingParty; 493 ULONG InfoElementCount; 494 UCHAR InfoElements[1]; 495 } Q2931_CALLMGR_PARAMETERS, *PQ2931_CALLMGR_PARAMETERS; 496 497 typedef struct _ATM_VC_RATES_SUPPORTED { 498 ULONG MinCellRate; 499 ULONG MaxCellRate; 500 } ATM_VC_RATES_SUPPORTED, *PATM_VC_RATES_SUPPORTED; 501 502 typedef ULONG ATM_SERVICE_REGISTRY_TYPE; 503 504 /* ATM_SERVICE_ADDRESS_LIST.ServiceRegistryType constants */ 505 #define ATM_SERVICE_REGISTRY_LECS 1 506 #define ATM_SERVICE_REGISTRY_ANS 2 507 508 typedef struct _ATM_SERVICE_ADDRESS_LIST { 509 ATM_SERVICE_REGISTRY_TYPE ServiceRegistryType; 510 ULONG NumberOfAddressesAvailable; 511 ULONG NumberOfAddressesReturned; 512 ATM_ADDRESS Address[1]; 513 } ATM_SERVICE_ADDRESS_LIST, *PATM_SERVICE_ADDRESS_LIST; 514 515 #ifdef __cplusplus 516 } 517 #endif 518