home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 14 / hacker14.iso / programacao / cwin / c.exe / $INSTDIR / include / ddk / atm.h next >
Encoding:
C/C++ Source or Header  |  2003-12-15  |  15.4 KB  |  504 lines

  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. #pragma pack(push,4)
  35.  
  36. typedef ULONG    ATM_ADDRESSTYPE;
  37.  
  38. #define SAP_TYPE_NSAP                            1
  39. #define SAP_TYPE_E164                            2
  40.  
  41. #define ATM_MEDIA_SPECIFIC                1
  42.  
  43. #define CALLMGR_SPECIFIC_Q2931            1
  44.  
  45. #define    ATM_NSAP                                  0
  46. #define    ATM_E164                                  1
  47.  
  48. #define    ATM_MAC_ADDRESS_LENGTH              6
  49. #define    ATM_ADDRESS_LENGTH                    20
  50.  
  51. typedef ULONG    ATM_AAL_TYPE, *PATM_AAL_TYPE;
  52.  
  53. #define    AAL_TYPE_AAL0                            1
  54. #define    AAL_TYPE_AAL1                            2
  55. #define    AAL_TYPE_AAL34                          4
  56. #define    AAL_TYPE_AAL5                            8
  57.  
  58. #define ATM_ADDR_BLANK_CHAR                        L' '
  59. #define ATM_ADDR_E164_START_CHAR              L'+'
  60. #define ATM_ADDR_PUNCTUATION_CHAR              L'.'
  61.  
  62. typedef enum {
  63.     IE_AALParameters,
  64.     IE_TrafficDescriptor,
  65.     IE_BroadbandBearerCapability,
  66.     IE_BHLI,
  67.     IE_BLLI,
  68.     IE_CalledPartyNumber,
  69.     IE_CalledPartySubaddress,
  70.     IE_CallingPartyNumber,
  71.     IE_CallingPartySubaddress,
  72.     IE_Cause,
  73.     IE_QOSClass,
  74.     IE_TransitNetworkSelection,
  75.     IE_BroadbandSendingComplete,
  76.     IE_LIJCallId,
  77.     IE_Raw
  78. } Q2931_IE_TYPE;
  79.  
  80. typedef struct _Q2931_IE {
  81.   Q2931_IE_TYPE  IEType;
  82.   ULONG  IELength;
  83.   UCHAR  IE[1];
  84. } Q2931_IE, *PQ2931_IE;
  85.  
  86. typedef struct _AAL1_PARAMETERS {
  87.   UCHAR  Subtype;
  88.   UCHAR  CBRRate;
  89.   USHORT  Multiplier;
  90.   UCHAR  SourceClockRecoveryMethod;
  91.   UCHAR  ErrorCorrectionMethod;
  92.   USHORT  StructuredDataTransferBlocksize;
  93.   UCHAR  PartiallyFilledCellsMethod;
  94. } AAL1_PARAMETERS, *PAAL1_PARAMETERS;
  95.  
  96. typedef struct _AAL34_PARAMETERS {
  97.   USHORT  ForwardMaxCPCSSDUSize;
  98.   USHORT  BackwardMaxCPCSSDUSize;
  99.   USHORT  LowestMID;
  100.   USHORT  HighestMID;
  101.   UCHAR  SSCSType;
  102. } AAL34_PARAMETERS, *PAAL34_PARAMETERS;
  103.  
  104. /* AAL5_PARAMETERS.Mode constants */
  105. #define AAL5_MODE_MESSAGE                        0x01
  106. #define AAL5_MODE_STREAMING                      0x02
  107.  
  108. /* AAL5_PARAMETERS.SSCSType constants */
  109. #define AAL5_SSCS_NULL                            0x00
  110. #define AAL5_SSCS_SSCOP_ASSURED                0x01
  111. #define AAL5_SSCS_SSCOP_NON_ASSURED          0x02
  112. #define AAL5_SSCS_FRAME_RELAY                  0x04
  113.  
  114. typedef struct _AAL5_PARAMETERS {
  115.   ULONG  ForwardMaxCPCSSDUSize;
  116.   ULONG  BackwardMaxCPCSSDUSize;
  117.   UCHAR  Mode;
  118.   UCHAR  SSCSType;
  119. } AAL5_PARAMETERS, *PAAL5_PARAMETERS;
  120.  
  121. typedef struct _AALUSER_PARAMETERS {
  122.   ULONG  UserDefined;
  123. } AALUSER_PARAMETERS, *PAALUSER_PARAMETERS;
  124.  
  125. typedef struct _AAL_PARAMETERS_IE {
  126.   ATM_AAL_TYPE  AALType;
  127.   union {
  128.     AAL1_PARAMETERS  AAL1Parameters;
  129.     AAL34_PARAMETERS  AAL34Parameters;
  130.     AAL5_PARAMETERS  AAL5Parameters;
  131.     AALUSER_PARAMETERS  AALUserParameters;
  132.   } AALSpecificParameters;
  133. } AAL_PARAMETERS_IE, *PAAL_PARAMETERS_IE;
  134.  
  135. typedef struct _ATM_AAL_OOB_INFO
  136. {
  137.     ATM_AAL_TYPE  AalType;
  138.     union {
  139.         struct _ATM_AAL5_INFO {
  140.             BOOLEAN  CellLossPriority;
  141.             UCHAR  UserToUserIndication;
  142.             UCHAR  CommonPartIndicator;
  143.         } ATM_AAL5_INFO;
  144.         
  145.         struct _ATM_AAL0_INFO {
  146.             BOOLEAN  CellLossPriority;
  147.             UCHAR  PayLoadTypeIdentifier;
  148.         } ATM_AAL0_INFO;
  149. #ifdef __cplusplus
  150.     } u;
  151. #else
  152.     };
  153. #endif
  154. } ATM_AAL_OOB_INFO, *PATM_AAL_OOB_INFO;
  155.  
  156. typedef struct _ATM_ADDRESS  { 
  157.   ATM_ADDRESSTYPE  AddressType; 
  158.   ULONG  NumberOfDigits; 
  159.   UCHAR  Address[ATM_ADDRESS_LENGTH]; 
  160. } ATM_ADDRESS, *PATM_ADDRESS;
  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. typedef struct _ATM_FLOW_PARAMETERS {
  343.   ATM_SERVICE_CATEGORY  ServiceCategory;
  344.   ULONG  AverageCellRate;
  345.   ULONG  PeakCellRate;
  346.   ULONG  MinimumCellRate;
  347.   ULONG  InitialCellRate;
  348.   ULONG  BurstLengthCells;
  349.   ULONG  MaxSduSize;
  350.   ULONG  TransientBufferExposure;
  351.   ULONG  CumulativeRMFixedRTT;
  352.   UCHAR  RateIncreaseFactor;
  353.   UCHAR  RateDecreaseFactor;
  354.   USHORT  ACRDecreaseTimeFactor;
  355.   UCHAR  MaximumCellsPerForwardRMCell;
  356.   UCHAR  MaximumForwardRMCellInterval;
  357.   UCHAR  CutoffDecreaseFactor;
  358.   UCHAR  Reserved1;
  359.   ULONG  MissingRMCellCount;
  360.   ULONG  Reserved2;
  361.   ULONG  Reserved3;
  362. } ATM_FLOW_PARAMETERS, *PATM_FLOW_PARAMETERS;
  363.  
  364. typedef struct _ATM_VPIVCI {
  365.   ULONG  Vpi;
  366.   ULONG  Vci;
  367. } ATM_VPIVCI, *PATM_VPIVCI;
  368.  
  369. typedef struct _ATM_MEDIA_PARAMETERS {
  370.   ATM_VPIVCI  ConnectionId;
  371.   ATM_AAL_TYPE  AALType;
  372.   ULONG  CellDelayVariationCLP0;
  373.   ULONG  CellDelayVariationCLP1;
  374.   ULONG  CellLossRatioCLP0;
  375.   ULONG  CellLossRatioCLP1;
  376.   ULONG  CellTransferDelayCLP0;
  377.   ULONG  CellTransferDelayCLP1;
  378.   ULONG  DefaultCLP;
  379.   ATM_FLOW_PARAMETERS  Transmit;
  380.   ATM_FLOW_PARAMETERS  Receive;
  381. } ATM_MEDIA_PARAMETERS, *PATM_MEDIA_PARAMETERS;
  382.  
  383. typedef struct _ATM_PVC_SAP {
  384.   ATM_BLLI_IE  Blli;
  385.   ATM_BHLI_IE  Bhli;
  386. } ATM_PVC_SAP, *PATM_PVC_SAP;
  387.  
  388. /* ATM_QOS_CLASS_IE constants */
  389. #define QOS_CLASS0                                0x00
  390. #define QOS_CLASS1                                0x01
  391. #define QOS_CLASS2                                0x02
  392. #define QOS_CLASS3                                0x03
  393. #define QOS_CLASS4                                0x04
  394.  
  395. typedef struct _ATM_QOS_CLASS_IE {
  396.   UCHAR  QOSClassForward;
  397.   UCHAR  QOSClassBackward;
  398. } ATM_QOS_CLASS_IE, *PATM_QOS_CLASS_IE;
  399.  
  400. typedef struct _ATM_RAW_IE {
  401.   ULONG  RawIELength;
  402.   ULONG  RawIEType;
  403.   UCHAR  RawIEValue[1];
  404. } ATM_RAW_IE, *PATM_RAW_IE;
  405.  
  406. typedef struct _ATM_SAP {
  407.   ATM_BLLI_IE  Blli;
  408.   ATM_BHLI_IE  Bhli;
  409.   ULONG  NumberOfAddresses;
  410.   UCHAR  Addresses[1];
  411. } ATM_SAP, *PATM_SAP;
  412.  
  413. typedef struct _ATM_TRAFFIC_DESCRIPTOR {
  414.   ULONG  PeakCellRateCLP0;
  415.   ULONG  PeakCellRateCLP01;
  416.   ULONG  SustainableCellRateCLP0;
  417.   ULONG  SustainableCellRateCLP01;
  418.   ULONG  MaximumBurstSizeCLP0;
  419.   ULONG  MaximumBurstSizeCLP01;
  420.   BOOLEAN  BestEffort;
  421.   BOOLEAN  Tagging;
  422. } ATM_TRAFFIC_DESCRIPTOR, *PATM_TRAFFIC_DESCRIPTOR;
  423.  
  424. typedef struct _ATM_TRAFFIC_DESCRIPTOR_IE {
  425.   ATM_TRAFFIC_DESCRIPTOR  ForwardTD;
  426.   ATM_TRAFFIC_DESCRIPTOR  BackwardTD;
  427. } ATM_TRAFFIC_DESCRIPTOR_IE, *PATM_TRAFFIC_DESCRIPTOR_IE;
  428.  
  429. /* ATM_TRANSIT_NETWORK_SELECTION_IE.TypeOfNetworkId constants */
  430. #define TNS_TYPE_NATIONAL                        0x40
  431.  
  432. /* ATM_TRANSIT_NETWORK_SELECTION_IE.NetworkIdPlan constants */
  433. #define TNS_PLAN_CARRIER_ID_CODE            0x01
  434.  
  435. typedef struct _ATM_TRANSIT_NETWORK_SELECTION_IE {
  436.   UCHAR  TypeOfNetworkId;
  437.   UCHAR  NetworkIdPlan;
  438.   UCHAR  NetworkIdLength;
  439.   UCHAR  NetworkId[1];
  440. } ATM_TRANSIT_NETWORK_SELECTION_IE, *PATM_TRANSIT_NETWORK_SELECTION_IE;
  441.  
  442. typedef struct _ATM_LIJ_CALLID_IE {
  443.     ULONG  Identifier;
  444. } ATM_LIJ_CALLID_IE, *PATM_LIJ_CALLID_IE;
  445.  
  446. /* Q2931_ADD_PVC.Flags constants */
  447. #define CO_FLAG_SIGNALING_VC              0x00000001
  448. #define CO_FLAG_NO_DEST_SAP               0x00000002
  449.  
  450. typedef struct _Q2931_ADD_PVC {
  451.   ATM_ADDRESS  CalledParty;
  452.   ATM_ADDRESS  CallingParty;
  453.   ATM_VPIVCI  ConnectionId;
  454.   ATM_AAL_TYPE  AALType;
  455.   ATM_FLOW_PARAMETERS  ForwardFP;
  456.   ATM_FLOW_PARAMETERS  BackwardFP;
  457.   ULONG  Flags;
  458.   ATM_PVC_SAP  LocalSap;
  459.   ATM_PVC_SAP  DestinationSap;
  460.   BOOLEAN  LIJIdPresent;
  461.   ATM_LIJ_CALLID_IE  LIJId;
  462. } Q2931_ADD_PVC, *PQ2931_ADD_PVC;
  463.  
  464. typedef struct _Q2931_DELETE_PVC {
  465.   ATM_VPIVCI  ConnectionId;
  466. } Q2931_DELETE_PVC, *PQ2931_DELETE_PVC;
  467.  
  468. typedef ATM_ADDRESS    ATM_CALLED_PARTY_NUMBER_IE;
  469. typedef ATM_ADDRESS    ATM_CALLED_PARTY_SUBADDRESS_IE;
  470. typedef ATM_ADDRESS    ATM_CALLING_PARTY_SUBADDRESS_IE;
  471.  
  472. typedef struct _Q2931_CALLMGR_PARAMETERS {
  473.   ATM_ADDRESS  CalledParty;
  474.   ATM_ADDRESS  CallingParty;
  475.   ULONG  InfoElementCount;
  476.   UCHAR  InfoElements[1];
  477. } Q2931_CALLMGR_PARAMETERS, *PQ2931_CALLMGR_PARAMETERS;
  478.  
  479. typedef struct _ATM_VC_RATES_SUPPORTED {
  480.   ULONG  MinCellRate;
  481.   ULONG  MaxCellRate;
  482. } ATM_VC_RATES_SUPPORTED, *PATM_VC_RATES_SUPPORTED;
  483.  
  484. typedef ULONG ATM_SERVICE_REGISTRY_TYPE;
  485.  
  486. /* ATM_SERVICE_ADDRESS_LIST.ServiceRegistryType constants */
  487. #define ATM_SERVICE_REGISTRY_LECS              1
  488. #define ATM_SERVICE_REGISTRY_ANS              2
  489.  
  490. typedef struct _ATM_SERVICE_ADDRESS_LIST {
  491.   ATM_SERVICE_REGISTRY_TYPE  ServiceRegistryType;
  492.   ULONG  NumberOfAddressesAvailable;
  493.   ULONG  NumberOfAddressesReturned;
  494.   ATM_ADDRESS  Address[1];
  495. } ATM_SERVICE_ADDRESS_LIST, *PATM_SERVICE_ADDRESS_LIST;
  496.  
  497. #pragma pack(pop)
  498.  
  499. #ifdef __cplusplus
  500. }
  501. #endif
  502.  
  503. #endif /* __ATM_H */
  504.