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