Add .gitattributes and .gitignore files and normalize line endings in the repository...
[reactos.git] / sdk / include / ddk / atm.h
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