- atm.h : Introduce pragma once, apply consistent formatting and add some missing definitions.

svn path=/branches/header-work/; revision=46799
This commit is contained in:
Amine Khaldi 2010-04-09 21:41:00 +00:00
parent 3d615f92df
commit f0e3db2b34

View file

@ -20,250 +20,249 @@
* *
*/ */
#ifndef _ATM_H #pragma once
#define _ATM_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
typedef ULONG ATM_ADDRESSTYPE; typedef ULONG ATM_ADDRESSTYPE;
#define SAP_TYPE_NSAP 1 #define SAP_TYPE_NSAP 1
#define SAP_TYPE_E164 2 #define SAP_TYPE_E164 2
#define ATM_MEDIA_SPECIFIC 1 #define ATM_MEDIA_SPECIFIC 1
#define CALLMGR_SPECIFIC_Q2931 1 #define CALLMGR_SPECIFIC_Q2931 1
#define ATM_NSAP 0 #define ATM_NSAP 0
#define ATM_E164 1 #define ATM_E164 1
#define ATM_MAC_ADDRESS_LENGTH 6 #define ATM_MAC_ADDRESS_LENGTH 6
#define ATM_ADDRESS_LENGTH 20 #define ATM_ADDRESS_LENGTH 20
typedef ULONG ATM_AAL_TYPE, *PATM_AAL_TYPE; typedef ULONG ATM_AAL_TYPE, *PATM_AAL_TYPE;
#define AAL_TYPE_AAL0 1 #define AAL_TYPE_AAL0 1
#define AAL_TYPE_AAL1 2 #define AAL_TYPE_AAL1 2
#define AAL_TYPE_AAL34 4 #define AAL_TYPE_AAL34 4
#define AAL_TYPE_AAL5 8 #define AAL_TYPE_AAL5 8
#define ATM_ADDR_BLANK_CHAR L' ' #define ATM_ADDR_BLANK_CHAR L' '
#define ATM_ADDR_E164_START_CHAR L'+' #define ATM_ADDR_E164_START_CHAR L'+'
#define ATM_ADDR_PUNCTUATION_CHAR L'.' #define ATM_ADDR_PUNCTUATION_CHAR L'.'
typedef enum { typedef enum _Q2931_IE_TYPE {
IE_AALParameters, IE_AALParameters,
IE_TrafficDescriptor, IE_TrafficDescriptor,
IE_BroadbandBearerCapability, IE_BroadbandBearerCapability,
IE_BHLI, IE_BHLI,
IE_BLLI, IE_BLLI,
IE_CalledPartyNumber, IE_CalledPartyNumber,
IE_CalledPartySubaddress, IE_CalledPartySubaddress,
IE_CallingPartyNumber, IE_CallingPartyNumber,
IE_CallingPartySubaddress, IE_CallingPartySubaddress,
IE_Cause, IE_Cause,
IE_QOSClass, IE_QOSClass,
IE_TransitNetworkSelection, IE_TransitNetworkSelection,
IE_BroadbandSendingComplete, IE_BroadbandSendingComplete,
IE_LIJCallId, IE_LIJCallId,
IE_Raw IE_Raw
} Q2931_IE_TYPE; } Q2931_IE_TYPE;
typedef struct _Q2931_IE { typedef struct _Q2931_IE {
Q2931_IE_TYPE IEType; Q2931_IE_TYPE IEType;
ULONG IELength; ULONG IELength;
UCHAR IE[1]; UCHAR IE[1];
} Q2931_IE, *PQ2931_IE; } Q2931_IE, *PQ2931_IE;
typedef struct _AAL1_PARAMETERS { typedef struct _AAL1_PARAMETERS {
UCHAR Subtype; UCHAR Subtype;
UCHAR CBRRate; UCHAR CBRRate;
USHORT Multiplier; USHORT Multiplier;
UCHAR SourceClockRecoveryMethod; UCHAR SourceClockRecoveryMethod;
UCHAR ErrorCorrectionMethod; UCHAR ErrorCorrectionMethod;
USHORT StructuredDataTransferBlocksize; USHORT StructuredDataTransferBlocksize;
UCHAR PartiallyFilledCellsMethod; UCHAR PartiallyFilledCellsMethod;
} AAL1_PARAMETERS, *PAAL1_PARAMETERS; } AAL1_PARAMETERS, *PAAL1_PARAMETERS;
typedef struct _AAL34_PARAMETERS { typedef struct _AAL34_PARAMETERS {
USHORT ForwardMaxCPCSSDUSize; USHORT ForwardMaxCPCSSDUSize;
USHORT BackwardMaxCPCSSDUSize; USHORT BackwardMaxCPCSSDUSize;
USHORT LowestMID; USHORT LowestMID;
USHORT HighestMID; USHORT HighestMID;
UCHAR SSCSType; UCHAR SSCSType;
} AAL34_PARAMETERS, *PAAL34_PARAMETERS; } AAL34_PARAMETERS, *PAAL34_PARAMETERS;
/* AAL5_PARAMETERS.Mode constants */ /* AAL5_PARAMETERS.Mode constants */
#define AAL5_MODE_MESSAGE 0x01 #define AAL5_MODE_MESSAGE 0x01
#define AAL5_MODE_STREAMING 0x02 #define AAL5_MODE_STREAMING 0x02
/* AAL5_PARAMETERS.SSCSType constants */ /* AAL5_PARAMETERS.SSCSType constants */
#define AAL5_SSCS_NULL 0x00 #define AAL5_SSCS_NULL 0x00
#define AAL5_SSCS_SSCOP_ASSURED 0x01 #define AAL5_SSCS_SSCOP_ASSURED 0x01
#define AAL5_SSCS_SSCOP_NON_ASSURED 0x02 #define AAL5_SSCS_SSCOP_NON_ASSURED 0x02
#define AAL5_SSCS_FRAME_RELAY 0x04 #define AAL5_SSCS_FRAME_RELAY 0x04
typedef struct _AAL5_PARAMETERS { typedef struct _AAL5_PARAMETERS {
ULONG ForwardMaxCPCSSDUSize; ULONG ForwardMaxCPCSSDUSize;
ULONG BackwardMaxCPCSSDUSize; ULONG BackwardMaxCPCSSDUSize;
UCHAR Mode; UCHAR Mode;
UCHAR SSCSType; UCHAR SSCSType;
} AAL5_PARAMETERS, *PAAL5_PARAMETERS; } AAL5_PARAMETERS, *PAAL5_PARAMETERS;
typedef struct _AALUSER_PARAMETERS { typedef struct _AALUSER_PARAMETERS {
ULONG UserDefined; ULONG UserDefined;
} AALUSER_PARAMETERS, *PAALUSER_PARAMETERS; } AALUSER_PARAMETERS, *PAALUSER_PARAMETERS;
typedef struct _AAL_PARAMETERS_IE { typedef struct _AAL_PARAMETERS_IE {
ATM_AAL_TYPE AALType; ATM_AAL_TYPE AALType;
union { union {
AAL1_PARAMETERS AAL1Parameters; AAL1_PARAMETERS AAL1Parameters;
AAL34_PARAMETERS AAL34Parameters; AAL34_PARAMETERS AAL34Parameters;
AAL5_PARAMETERS AAL5Parameters; AAL5_PARAMETERS AAL5Parameters;
AALUSER_PARAMETERS AALUserParameters; AALUSER_PARAMETERS AALUserParameters;
} AALSpecificParameters; } AALSpecificParameters;
} AAL_PARAMETERS_IE, *PAAL_PARAMETERS_IE; } AAL_PARAMETERS_IE, *PAAL_PARAMETERS_IE;
struct _ATM_AAL5_INFO { struct _ATM_AAL5_INFO {
BOOLEAN CellLossPriority; BOOLEAN CellLossPriority;
UCHAR UserToUserIndication; UCHAR UserToUserIndication;
UCHAR CommonPartIndicator; UCHAR CommonPartIndicator;
}; };
struct _ATM_AAL0_INFO { struct _ATM_AAL0_INFO {
BOOLEAN CellLossPriority; BOOLEAN CellLossPriority;
UCHAR PayLoadTypeIdentifier; UCHAR PayLoadTypeIdentifier;
}; };
/* FIXME: Should the union be anonymous in C++ too? */ typedef struct _ATM_AAL_OOB_INFO {
typedef struct _ATM_AAL_OOB_INFO ATM_AAL_TYPE AalType;
{ union {
ATM_AAL_TYPE AalType; struct _ATM_AAL5_INFO ATM_AAL5_INFO;
#ifndef __cplusplus struct _ATM_AAL0_INFO ATM_AAL0_INFO;
_ANONYMOUS_UNION };
#endif
union {
struct _ATM_AAL5_INFO ATM_AAL5_INFO;
struct _ATM_AAL0_INFO ATM_AAL0_INFO;
#ifndef __cplusplus
} DUMMYUNIONNAME;
#else
} u;
#endif
} ATM_AAL_OOB_INFO, *PATM_AAL_OOB_INFO; } ATM_AAL_OOB_INFO, *PATM_AAL_OOB_INFO;
typedef struct _ATM_ADDRESS { typedef struct _ATM_ADDRESS {
ATM_ADDRESSTYPE AddressType; ATM_ADDRESSTYPE AddressType;
ULONG NumberOfDigits; ULONG NumberOfDigits;
UCHAR Address[ATM_ADDRESS_LENGTH]; UCHAR Address[ATM_ADDRESS_LENGTH];
} ATM_ADDRESS, *PATM_ADDRESS; } ATM_ADDRESS, *PATM_ADDRESS;
#define ATM_PHYS_RATE_SONET_STS3C 155520000
#define ATM_PHYS_RATE_IBM_25 25600000
#define ATM_CELL_TRANSFER_CAPACITY_SONET_STS3C 149760000
#define ATM_CELL_TRANSFER_CAPACITY_IBM_25 25125926
#define ATM_USER_DATA_RATE_SONET_155 1356317
#define ATM_USER_DATA_RATE_IBM_25 227556
/* ATM_BHLI_IE.HighLayerInfoType constants */ /* ATM_BHLI_IE.HighLayerInfoType constants */
#define BHLI_ISO 0x00 #define BHLI_ISO 0x00
#define BHLI_UserSpecific 0x01 #define BHLI_UserSpecific 0x01
#define BHLI_HighLayerProfile 0x02 #define BHLI_HighLayerProfile 0x02
#define BHLI_VendorSpecificAppId 0x03 #define BHLI_VendorSpecificAppId 0x03
typedef struct _ATM_BHLI_IE { typedef struct _ATM_BHLI_IE {
ULONG HighLayerInfoType; ULONG HighLayerInfoType;
ULONG HighLayerInfoLength; ULONG HighLayerInfoLength;
UCHAR HighLayerInfo[8]; UCHAR HighLayerInfo[8];
} ATM_BHLI_IE, *PATM_BHLI_IE; } ATM_BHLI_IE, *PATM_BHLI_IE;
/* ATM_BLLI_IE.Layer2Protocol constants */ /* ATM_BLLI_IE.Layer2Protocol constants */
#define BLLI_L2_ISO_1745 0x01 #define BLLI_L2_ISO_1745 0x01
#define BLLI_L2_Q921 0x02 #define BLLI_L2_Q921 0x02
#define BLLI_L2_X25L 0x06 #define BLLI_L2_X25L 0x06
#define BLLI_L2_X25M 0x07 #define BLLI_L2_X25M 0x07
#define BLLI_L2_ELAPB 0x08 #define BLLI_L2_ELAPB 0x08
#define BLLI_L2_HDLC_ARM 0x09 #define BLLI_L2_HDLC_ARM 0x09
#define BLLI_L2_HDLC_NRM 0x0A #define BLLI_L2_HDLC_NRM 0x0A
#define BLLI_L2_HDLC_ABM 0x0B #define BLLI_L2_HDLC_ABM 0x0B
#define BLLI_L2_LLC 0x0C #define BLLI_L2_LLC 0x0C
#define BLLI_L2_X75 0x0D #define BLLI_L2_X75 0x0D
#define BLLI_L2_Q922 0x0E #define BLLI_L2_Q922 0x0E
#define BLLI_L2_USER_SPECIFIED 0x10 #define BLLI_L2_USER_SPECIFIED 0x10
#define BLLI_L2_ISO_7776 0x11 #define BLLI_L2_ISO_7776 0x11
/* ATM_BLLI_IE.Layer3Protocol constants */ /* ATM_BLLI_IE.Layer3Protocol constants */
#define BLLI_L3_X25 0x06 #define BLLI_L3_X25 0x06
#define BLLI_L3_ISO_8208 0x07 #define BLLI_L3_ISO_8208 0x07
#define BLLI_L3_X223 0x08 #define BLLI_L3_X223 0x08
#define BLLI_L3_SIO_8473 0x09 #define BLLI_L3_SIO_8473 0x09
#define BLLI_L3_T70 0x0A #define BLLI_L3_T70 0x0A
#define BLLI_L3_ISO_TR9577 0x0B #define BLLI_L3_ISO_TR9577 0x0B
#define BLLI_L3_USER_SPECIFIED 0x10 #define BLLI_L3_USER_SPECIFIED 0x10
/* ATM_BLLI_IE.Layer3IPI constants */ /* ATM_BLLI_IE.Layer3IPI constants */
#define BLLI_L3_IPI_SNAP 0x80 #define BLLI_L3_IPI_SNAP 0x80
#define BLLI_L3_IPI_IP 0xCC #define BLLI_L3_IPI_IP 0xCC
typedef struct _ATM_BLLI_IE { typedef struct _ATM_BLLI_IE {
ULONG Layer2Protocol; ULONG Layer2Protocol;
UCHAR Layer2Mode; UCHAR Layer2Mode;
UCHAR Layer2WindowSize; UCHAR Layer2WindowSize;
ULONG Layer2UserSpecifiedProtocol; ULONG Layer2UserSpecifiedProtocol;
ULONG Layer3Protocol; ULONG Layer3Protocol;
UCHAR Layer3Mode; UCHAR Layer3Mode;
UCHAR Layer3DefaultPacketSize; UCHAR Layer3DefaultPacketSize;
UCHAR Layer3PacketWindowSize; UCHAR Layer3PacketWindowSize;
ULONG Layer3UserSpecifiedProtocol; ULONG Layer3UserSpecifiedProtocol;
ULONG Layer3IPI; ULONG Layer3IPI;
UCHAR SnapId[5]; UCHAR SnapId[5];
} ATM_BLLI_IE, *PATM_BLLI_IE; } ATM_BLLI_IE, *PATM_BLLI_IE;
/* ATM_BROADBAND_BEARER_CAPABILITY_IE.BearerClass constants */ /* ATM_BROADBAND_BEARER_CAPABILITY_IE.BearerClass constants */
#define BCOB_A 0x00 #define BCOB_A 0x00
#define BCOB_C 0x01 #define BCOB_C 0x01
#define BCOB_X 0x02 #define BCOB_X 0x02
/* ATM_BROADBAND_BEARER_CAPABILITY_IE.TrafficType constants */ /* ATM_BROADBAND_BEARER_CAPABILITY_IE.TrafficType constants */
#define TT_NOIND 0x00 #define TT_NOIND 0x00
#define TT_CBR 0x04 #define TT_CBR 0x04
#define TT_VBR 0x08 #define TT_VBR 0x08
/* ATM_BROADBAND_BEARER_CAPABILITY_IE.TimingRequirements constants */ /* ATM_BROADBAND_BEARER_CAPABILITY_IE.TimingRequirements constants */
#define TR_NOIND 0x00 #define TR_NOIND 0x00
#define TR_END_TO_END 0x01 #define TR_END_TO_END 0x01
#define TR_NO_END_TO_END 0x02 #define TR_NO_END_TO_END 0x02
/* ATM_BROADBAND_BEARER_CAPABILITY_IE.ClippingSusceptability constants */ /* ATM_BROADBAND_BEARER_CAPABILITY_IE.ClippingSusceptability constants */
#define CLIP_NOT 0x00 #define CLIP_NOT 0x00
#define CLIP_SUS 0x20 #define CLIP_SUS 0x20
/* ATM_BROADBAND_BEARER_CAPABILITY_IE.UserPlaneConnectionConfig constants */ /* ATM_BROADBAND_BEARER_CAPABILITY_IE.UserPlaneConnectionConfig constants */
#define UP_P2P 0x00 #define UP_P2P 0x00
#define UP_P2MP 0x01 #define UP_P2MP 0x01
typedef struct _ATM_BROADBAND_BEARER_CAPABILITY_IE { typedef struct _ATM_BROADBAND_BEARER_CAPABILITY_IE {
UCHAR BearerClass; UCHAR BearerClass;
UCHAR TrafficType; UCHAR TrafficType;
UCHAR TimingRequirements; UCHAR TimingRequirements;
UCHAR ClippingSusceptability; UCHAR ClippingSusceptability;
UCHAR UserPlaneConnectionConfig; UCHAR UserPlaneConnectionConfig;
} ATM_BROADBAND_BEARER_CAPABILITY_IE, *PATM_BROADBAND_BEARER_CAPABILITY_IE; } ATM_BROADBAND_BEARER_CAPABILITY_IE, *PATM_BROADBAND_BEARER_CAPABILITY_IE;
typedef struct _ATM_BROADBAND_SENDING_COMPLETE_IE { typedef struct _ATM_BROADBAND_SENDING_COMPLETE_IE {
UCHAR SendingComplete; UCHAR SendingComplete;
} ATM_BROADBAND_SENDING_COMPLETE_IE, *PATM_BROADBAND_SENDING_COMPLETE_IE; } ATM_BROADBAND_SENDING_COMPLETE_IE, *PATM_BROADBAND_SENDING_COMPLETE_IE;
typedef struct _ATM_CALLING_PARTY_NUMBER_IE { typedef struct _ATM_CALLING_PARTY_NUMBER_IE {
ATM_ADDRESS Number; ATM_ADDRESS Number;
UCHAR PresentationIndication; UCHAR PresentationIndication;
UCHAR ScreeningIndicator; UCHAR ScreeningIndicator;
} ATM_CALLING_PARTY_NUMBER_IE, *PATM_CALLING_PARTY_NUMBER_IE; } ATM_CALLING_PARTY_NUMBER_IE, *PATM_CALLING_PARTY_NUMBER_IE;
/* ATM_CAUSE_IE.Location constants */ /* ATM_CAUSE_IE.Location constants */
#define ATM_CAUSE_LOC_USER 0x00 #define ATM_CAUSE_LOC_USER 0x00
#define ATM_CAUSE_LOC_PRIVATE_LOCAL 0x01 #define ATM_CAUSE_LOC_PRIVATE_LOCAL 0x01
#define ATM_CAUSE_LOC_PUBLIC_LOCAL 0x02 #define ATM_CAUSE_LOC_PUBLIC_LOCAL 0x02
#define ATM_CAUSE_LOC_TRANSIT_NETWORK 0x03 #define ATM_CAUSE_LOC_TRANSIT_NETWORK 0x03
#define ATM_CAUSE_LOC_PUBLIC_REMOTE 0x04 #define ATM_CAUSE_LOC_PUBLIC_REMOTE 0x04
#define ATM_CAUSE_LOC_PRIVATE_REMOTE 0x05 #define ATM_CAUSE_LOC_PRIVATE_REMOTE 0x05
#define ATM_CAUSE_LOC_INTERNATIONAL_NETWORK 0x07 #define ATM_CAUSE_LOC_INTERNATIONAL_NETWORK 0x07
#define ATM_CAUSE_LOC_BEYOND_INTERWORKING 0x0A #define ATM_CAUSE_LOC_BEYOND_INTERWORKING 0x0A
/* ATM_CAUSE_IE.Cause constants */ /* ATM_CAUSE_IE.Cause constants */
#define ATM_CAUSE_UNALLOCATED_NUMBER 0x01 #define ATM_CAUSE_UNALLOCATED_NUMBER 0x01
@ -322,182 +321,197 @@ typedef struct _ATM_CALLING_PARTY_NUMBER_IE {
#define ATM_CAUSE_NA_ABNORMAL 0x04 #define ATM_CAUSE_NA_ABNORMAL 0x04
typedef struct _ATM_CAUSE_IE { typedef struct _ATM_CAUSE_IE {
UCHAR Location; UCHAR Location;
UCHAR Cause; UCHAR Cause;
UCHAR DiagnosticsLength; UCHAR DiagnosticsLength;
UCHAR Diagnostics[4]; UCHAR Diagnostics[4];
} ATM_CAUSE_IE, *PATM_CAUSE_IE; } ATM_CAUSE_IE, *PATM_CAUSE_IE;
typedef ULONG ATM_SERVICE_CATEGORY, *PATM_SERVICE_CATEGORY; typedef ULONG ATM_SERVICE_CATEGORY, *PATM_SERVICE_CATEGORY;
/* ATM_FLOW_PARAMETERS.ServiceCategory constants */ /* ATM_FLOW_PARAMETERS.ServiceCategory constants */
#define ATM_SERVICE_CATEGORY_CBR 1 #define ATM_SERVICE_CATEGORY_CBR 1
#define ATM_SERVICE_CATEGORY_VBR 2 #define ATM_SERVICE_CATEGORY_VBR 2
#define ATM_SERVICE_CATEGORY_UBR 4 #define ATM_SERVICE_CATEGORY_UBR 4
#define ATM_SERVICE_CATEGORY_ABR 8 #define ATM_SERVICE_CATEGORY_ABR 8
/* ATM_FLOW_PARAMETERS.Reserved1 constants */ /* ATM_FLOW_PARAMETERS.Reserved1 constants */
#define ATM_FLOW_PARAMS_RSVD1_MPP 0x01 #define ATM_FLOW_PARAMS_RSVD1_MPP 0x01
#ifndef SAP_FIELD_ABSENT
#define SAP_FIELD_ABSENT ((ULONG)0xfffffffe)
#endif
#ifndef SAP_FIELD_ANY
#define SAP_FIELD_ANY ((ULONG)0xffffffff)
#endif
#define SAP_FIELD_ANY_AESA_SEL ((ULONG)0xfffffffa)
#define SAP_FIELD_ANY_AESA_REST ((ULONG)0xfffffffb)
typedef struct _ATM_FLOW_PARAMETERS { typedef struct _ATM_FLOW_PARAMETERS {
ATM_SERVICE_CATEGORY ServiceCategory; ATM_SERVICE_CATEGORY ServiceCategory;
ULONG AverageCellRate; ULONG AverageCellRate;
ULONG PeakCellRate; ULONG PeakCellRate;
ULONG MinimumCellRate; ULONG MinimumCellRate;
ULONG InitialCellRate; ULONG InitialCellRate;
ULONG BurstLengthCells; ULONG BurstLengthCells;
ULONG MaxSduSize; ULONG MaxSduSize;
ULONG TransientBufferExposure; ULONG TransientBufferExposure;
ULONG CumulativeRMFixedRTT; ULONG CumulativeRMFixedRTT;
UCHAR RateIncreaseFactor; UCHAR RateIncreaseFactor;
UCHAR RateDecreaseFactor; UCHAR RateDecreaseFactor;
USHORT ACRDecreaseTimeFactor; USHORT ACRDecreaseTimeFactor;
UCHAR MaximumCellsPerForwardRMCell; UCHAR MaximumCellsPerForwardRMCell;
UCHAR MaximumForwardRMCellInterval; UCHAR MaximumForwardRMCellInterval;
UCHAR CutoffDecreaseFactor; UCHAR CutoffDecreaseFactor;
UCHAR Reserved1; UCHAR Reserved1;
ULONG MissingRMCellCount; ULONG MissingRMCellCount;
ULONG Reserved2; ULONG Reserved2;
ULONG Reserved3; ULONG Reserved3;
} ATM_FLOW_PARAMETERS, *PATM_FLOW_PARAMETERS; } ATM_FLOW_PARAMETERS, *PATM_FLOW_PARAMETERS;
typedef struct _ATM_VPIVCI { typedef struct _ATM_VPIVCI {
ULONG Vpi; ULONG Vpi;
ULONG Vci; ULONG Vci;
} ATM_VPIVCI, *PATM_VPIVCI; } ATM_VPIVCI, *PATM_VPIVCI;
typedef struct _ATM_MEDIA_PARAMETERS { typedef struct _ATM_MEDIA_PARAMETERS {
ATM_VPIVCI ConnectionId; ATM_VPIVCI ConnectionId;
ATM_AAL_TYPE AALType; ATM_AAL_TYPE AALType;
ULONG CellDelayVariationCLP0; ULONG CellDelayVariationCLP0;
ULONG CellDelayVariationCLP1; ULONG CellDelayVariationCLP1;
ULONG CellLossRatioCLP0; ULONG CellLossRatioCLP0;
ULONG CellLossRatioCLP1; ULONG CellLossRatioCLP1;
ULONG CellTransferDelayCLP0; ULONG CellTransferDelayCLP0;
ULONG CellTransferDelayCLP1; ULONG CellTransferDelayCLP1;
ULONG DefaultCLP; ULONG DefaultCLP;
ATM_FLOW_PARAMETERS Transmit; ATM_FLOW_PARAMETERS Transmit;
ATM_FLOW_PARAMETERS Receive; ATM_FLOW_PARAMETERS Receive;
} ATM_MEDIA_PARAMETERS, *PATM_MEDIA_PARAMETERS; } ATM_MEDIA_PARAMETERS, *PATM_MEDIA_PARAMETERS;
typedef struct _ATM_PVC_SAP { typedef struct _ATM_PVC_SAP {
ATM_BLLI_IE Blli; ATM_BLLI_IE Blli;
ATM_BHLI_IE Bhli; ATM_BHLI_IE Bhli;
} ATM_PVC_SAP, *PATM_PVC_SAP; } ATM_PVC_SAP, *PATM_PVC_SAP;
/* ATM_QOS_CLASS_IE constants */ /* ATM_QOS_CLASS_IE constants */
#define QOS_CLASS0 0x00 #define QOS_CLASS0 0x00
#define QOS_CLASS1 0x01 #define QOS_CLASS1 0x01
#define QOS_CLASS2 0x02 #define QOS_CLASS2 0x02
#define QOS_CLASS3 0x03 #define QOS_CLASS3 0x03
#define QOS_CLASS4 0x04 #define QOS_CLASS4 0x04
typedef struct _ATM_QOS_CLASS_IE { typedef struct _ATM_QOS_CLASS_IE {
UCHAR QOSClassForward; UCHAR QOSClassForward;
UCHAR QOSClassBackward; UCHAR QOSClassBackward;
} ATM_QOS_CLASS_IE, *PATM_QOS_CLASS_IE; } ATM_QOS_CLASS_IE, *PATM_QOS_CLASS_IE;
typedef struct _ATM_RAW_IE { typedef struct _ATM_RAW_IE {
ULONG RawIELength; ULONG RawIELength;
ULONG RawIEType; ULONG RawIEType;
UCHAR RawIEValue[1]; UCHAR RawIEValue[1];
} ATM_RAW_IE, *PATM_RAW_IE; } ATM_RAW_IE, *PATM_RAW_IE;
typedef struct _ATM_SAP { typedef struct _ATM_SAP {
ATM_BLLI_IE Blli; ATM_BLLI_IE Blli;
ATM_BHLI_IE Bhli; ATM_BHLI_IE Bhli;
ULONG NumberOfAddresses; ULONG NumberOfAddresses;
UCHAR Addresses[1]; UCHAR Addresses[1];
} ATM_SAP, *PATM_SAP; } ATM_SAP, *PATM_SAP;
typedef struct _ATM_TRAFFIC_DESCRIPTOR { typedef struct _ATM_TRAFFIC_DESCRIPTOR {
ULONG PeakCellRateCLP0; ULONG PeakCellRateCLP0;
ULONG PeakCellRateCLP01; ULONG PeakCellRateCLP01;
ULONG SustainableCellRateCLP0; ULONG SustainableCellRateCLP0;
ULONG SustainableCellRateCLP01; ULONG SustainableCellRateCLP01;
ULONG MaximumBurstSizeCLP0; ULONG MaximumBurstSizeCLP0;
ULONG MaximumBurstSizeCLP01; ULONG MaximumBurstSizeCLP01;
BOOLEAN BestEffort; BOOLEAN Tagging;
BOOLEAN Tagging;
} ATM_TRAFFIC_DESCRIPTOR, *PATM_TRAFFIC_DESCRIPTOR; } ATM_TRAFFIC_DESCRIPTOR, *PATM_TRAFFIC_DESCRIPTOR;
typedef struct _ATM_TRAFFIC_DESCRIPTOR_IE { typedef struct _ATM_TRAFFIC_DESCRIPTOR_IE {
ATM_TRAFFIC_DESCRIPTOR ForwardTD; ATM_TRAFFIC_DESCRIPTOR ForwardTD;
ATM_TRAFFIC_DESCRIPTOR BackwardTD; ATM_TRAFFIC_DESCRIPTOR BackwardTD;
BOOLEAN BestEffort; BOOLEAN BestEffort;
} ATM_TRAFFIC_DESCRIPTOR_IE, *PATM_TRAFFIC_DESCRIPTOR_IE; } ATM_TRAFFIC_DESCRIPTOR_IE, *PATM_TRAFFIC_DESCRIPTOR_IE;
/* ATM_TRANSIT_NETWORK_SELECTION_IE.TypeOfNetworkId constants */ /* ATM_TRANSIT_NETWORK_SELECTION_IE.TypeOfNetworkId constants */
#define TNS_TYPE_NATIONAL 0x40 #define TNS_TYPE_NATIONAL 0x40
/* ATM_TRANSIT_NETWORK_SELECTION_IE.NetworkIdPlan constants */ /* ATM_TRANSIT_NETWORK_SELECTION_IE.NetworkIdPlan constants */
#define TNS_PLAN_CARRIER_ID_CODE 0x01 #define TNS_PLAN_CARRIER_ID_CODE 0x01
typedef struct _ATM_TRANSIT_NETWORK_SELECTION_IE { typedef struct _ATM_TRANSIT_NETWORK_SELECTION_IE {
UCHAR TypeOfNetworkId; UCHAR TypeOfNetworkId;
UCHAR NetworkIdPlan; UCHAR NetworkIdPlan;
UCHAR NetworkIdLength; UCHAR NetworkIdLength;
UCHAR NetworkId[1]; UCHAR NetworkId[1];
} ATM_TRANSIT_NETWORK_SELECTION_IE, *PATM_TRANSIT_NETWORK_SELECTION_IE; } ATM_TRANSIT_NETWORK_SELECTION_IE, *PATM_TRANSIT_NETWORK_SELECTION_IE;
typedef struct _ATM_LIJ_CALLID_IE { typedef struct _ATM_LIJ_CALLID_IE {
ULONG Identifier; ULONG Identifier;
} ATM_LIJ_CALLID_IE, *PATM_LIJ_CALLID_IE; } ATM_LIJ_CALLID_IE, *PATM_LIJ_CALLID_IE;
/* Q2931_ADD_PVC.Flags constants */ /* Q2931_ADD_PVC.Flags constants */
#define CO_FLAG_SIGNALING_VC 0x00000001 #define CO_FLAG_SIGNALING_VC 0x00000001
#define CO_FLAG_NO_DEST_SAP 0x00000002 #define CO_FLAG_NO_DEST_SAP 0x00000002
#define CO_FLAG_NO_LOCAL_SAP 0x00000004
typedef struct _Q2931_ADD_PVC { typedef struct _Q2931_ADD_PVC {
ATM_ADDRESS CalledParty; ATM_ADDRESS CalledParty;
ATM_ADDRESS CallingParty; ATM_ADDRESS CallingParty;
ATM_VPIVCI ConnectionId; ATM_VPIVCI ConnectionId;
ATM_AAL_TYPE AALType; ATM_AAL_TYPE AALType;
ATM_FLOW_PARAMETERS ForwardFP; ATM_FLOW_PARAMETERS ForwardFP;
ATM_FLOW_PARAMETERS BackwardFP; ATM_FLOW_PARAMETERS BackwardFP;
ULONG Flags; ULONG Flags;
ATM_PVC_SAP LocalSap; ATM_PVC_SAP LocalSap;
ATM_PVC_SAP DestinationSap; ATM_PVC_SAP DestinationSap;
BOOLEAN LIJIdPresent; BOOLEAN LIJIdPresent;
ATM_LIJ_CALLID_IE LIJId; ATM_LIJ_CALLID_IE LIJId;
} Q2931_ADD_PVC, *PQ2931_ADD_PVC; } Q2931_ADD_PVC, *PQ2931_ADD_PVC;
typedef struct _Q2931_DELETE_PVC { typedef struct _Q2931_DELETE_PVC {
ATM_VPIVCI ConnectionId; ATM_VPIVCI ConnectionId;
} Q2931_DELETE_PVC, *PQ2931_DELETE_PVC; } Q2931_DELETE_PVC, *PQ2931_DELETE_PVC;
typedef ATM_ADDRESS ATM_CALLED_PARTY_NUMBER_IE; typedef struct _CO_GET_CALL_INFORMATION {
typedef ATM_ADDRESS ATM_CALLED_PARTY_SUBADDRESS_IE; ULONG CallInfoType;
typedef ATM_ADDRESS ATM_CALLING_PARTY_SUBADDRESS_IE; ULONG CallInfoLength;
PVOID CallInfoBuffer;
} CO_GET_CALL_INFORMATION, *PCO_GET_CALL_INFORMATION;
typedef ATM_ADDRESS ATM_CALLED_PARTY_NUMBER_IE;
typedef ATM_ADDRESS ATM_CALLED_PARTY_SUBADDRESS_IE;
typedef ATM_ADDRESS ATM_CALLING_PARTY_SUBADDRESS_IE;
typedef struct _Q2931_CALLMGR_PARAMETERS { typedef struct _Q2931_CALLMGR_PARAMETERS {
ATM_ADDRESS CalledParty; ATM_ADDRESS CalledParty;
ATM_ADDRESS CallingParty; ATM_ADDRESS CallingParty;
ULONG InfoElementCount; ULONG InfoElementCount;
UCHAR InfoElements[1]; UCHAR InfoElements[1];
} Q2931_CALLMGR_PARAMETERS, *PQ2931_CALLMGR_PARAMETERS; } Q2931_CALLMGR_PARAMETERS, *PQ2931_CALLMGR_PARAMETERS;
typedef struct _ATM_VC_RATES_SUPPORTED { typedef struct _ATM_VC_RATES_SUPPORTED {
ULONG MinCellRate; ULONG MinCellRate;
ULONG MaxCellRate; ULONG MaxCellRate;
} ATM_VC_RATES_SUPPORTED, *PATM_VC_RATES_SUPPORTED; } ATM_VC_RATES_SUPPORTED, *PATM_VC_RATES_SUPPORTED;
typedef ULONG ATM_SERVICE_REGISTRY_TYPE; typedef ULONG ATM_SERVICE_REGISTRY_TYPE;
/* ATM_SERVICE_ADDRESS_LIST.ServiceRegistryType constants */ /* ATM_SERVICE_ADDRESS_LIST.ServiceRegistryType constants */
#define ATM_SERVICE_REGISTRY_LECS 1 #define ATM_SERVICE_REGISTRY_LECS 1
#define ATM_SERVICE_REGISTRY_ANS 2 #define ATM_SERVICE_REGISTRY_ANS 2
typedef struct _ATM_SERVICE_ADDRESS_LIST { typedef struct _ATM_SERVICE_ADDRESS_LIST {
ATM_SERVICE_REGISTRY_TYPE ServiceRegistryType; ATM_SERVICE_REGISTRY_TYPE ServiceRegistryType;
ULONG NumberOfAddressesAvailable; ULONG NumberOfAddressesAvailable;
ULONG NumberOfAddressesReturned; ULONG NumberOfAddressesReturned;
ATM_ADDRESS Address[1]; ATM_ADDRESS Address[1];
} ATM_SERVICE_ADDRESS_LIST, *PATM_SERVICE_ADDRESS_LIST; } ATM_SERVICE_ADDRESS_LIST, *PATM_SERVICE_ADDRESS_LIST;
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _ATM_H */