/* * atm.h ATM definitions * * ========================================================================= * * Open Watcom Project * * Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved. * * This file is automatically generated. Do not edit directly. * * ========================================================================= */ #ifndef _ATM_H_ #define _ATM_H_ #ifndef _ENABLE_AUTODEPEND #pragma read_only_file; #endif #ifdef __cplusplus extern "C" { #endif /* Primitive data types */ typedef ULONG ATM_ADDRESSTYPE; typedef ULONG ATM_AAL_TYPE; typedef ULONG *PATM_AAL_TYPE; typedef ULONG ATM_SERVICE_CATEGORY; typedef ULONG *PATM_SERVICE_CATEGORY; typedef ULONG ATM_SERVICE_REGISTRY_TYPE; /* ATM address types */ #define ATM_NSAP 0L #define ATM_E164 1L /* ATM address lengths */ #define ATM_MAC_ADDRESS_LENGTH 6 #define ATM_ADDRESS_LENGTH 20 /* ATM address characters */ #define ATM_ADDR_BLANK_CHAR L' ' #define ATM_ADDR_PUNCTUATION_CHAR L'.' #define ATM_ADDR_E164_START_CHAR L'+' /* AAL types */ #define AAL_TYPE_AAL0 1 #define AAL_TYPE_AAL1 2 #define AAL_TYPE_AAL34 4 #define AAL_TYPE_AAL5 8 /* SAP types */ #define SAP_TYPE_NSAP 0x00000001L #define SAP_TYPE_E164 0x00000002L /* AAL5 modes */ #define AAL5_MODE_MESSAGE 0x01 #define AAL5_MODE_STREAMING 0x02 /* AAL5 SSCS types */ #define AAL5_SSCS_NULL 0x00 #define AAL5_SSCS_SSCOP_ASSURED 0x01 #define AAL5_SSCS_SSCOP_NON_ASSURED 0x02 #define AAL5_SSCS_FRAME_RELAY 0x04 /* Bearer classes */ #define BCOB_A 0x00 #define BCOB_C 0x01 #define BCOB_X 0x02 /* Traffic types */ #define TT_NOIND 0x00 #define TT_CBR 0x04 #define TT_VBR 0x08 /* Timing requirements */ #define TR_NOIND 0x00 #define TR_END_TO_END 0x01 #define TR_NO_END_TO_END 0x02 /* Clipping susceptabilities */ #define CLIP_NOT 0x00 #define CLIP_SUS 0x20 /* User plane connection configuration values */ #define UP_P2P 0x00 #define UP_P2MP 0x01 /* Broadband high layer information types */ #define BHLI_ISO 0x00 #define BHLI_UserSpecific 0x01 #define BHLI_HighLayerProfile 0x02 #define BHLI_VendorSpecificAppId 0x03 /* Layer 2 protocols */ #define BLLI_L2_ISO_1745 0x01 #define BLLI_L2_Q921 0x02 #define BLLI_L2_X25L 0x06 #define BLLI_L2_X25M 0x07 #define BLLI_L2_ELAPB 0x08 #define BLLI_L2_HDLC_ARM 0x09 #define BLLI_L2_HDLC_NRM 0x0A #define BLLI_L2_HDLC_ABM 0x0B #define BLLI_L2_LLC 0x0C #define BLLI_L2_X75 0x0D #define BLLI_L2_Q922 0x0E #define BLLI_L2_USER_SPECIFIC 0x10 #define BLLI_L2_ISO_7776 0x11 /* Layer 3 protocols */ #define BLLI_L3_X25 0x06 #define BLLI_L3_ISO_8208 0x07 #define BLLI_L3_X223 0x08 #define BLLI_L3_SIO_8473 0x09 #define BLLI_L3_T70 0x0A #define BLLI_L3_ISO_TR9577 0x0B #define BLLI_L3_USER_SPECIFIC 0x10 /* Layer 3 initial protocol identifiers */ #define BLLI_L3_IPI_SNAP 0x80 #define BLLI_L3_IPI_IP 0xCC /* Quality of service classes */ #define QOS_CLASS0 0x00 #define QOS_CLASS1 0x01 #define QOS_CLASS2 0x02 #define QOS_CLASS3 0x03 #define QOS_CLASS4 0x04 /* Transit network selection types */ #define TNS_TYPE_NATIONAL 0x40 /* Transit network selection plans */ #define TNS_PLAN_CARRIER_ID_CODE 0x01 /* ATM cause locations */ #define ATM_CAUSE_LOC_USER 0x00 #define ATM_CAUSE_LOC_PRIVATE_LOCAL 0x01 #define ATM_CAUSE_LOC_PUBLIC_LOCAL 0x02 #define ATM_CAUSE_LOC_TRANSIT_NETWORK 0x03 #define ATM_CAUSE_LOC_PUBLIC_REMOTE 0x04 #define ATM_CAUSE_LOC_PRIVATE_REMOTE 0x05 #define ATM_CAUSE_LOC_INTERNATIONAL_NETWORK 0x07 #define ATM_CAUSE_LOC_BEYOND_INTERWORKING 0x0A /* ATM causes */ #define ATM_CAUSE_UNALLOCATED_NUMBER 0x01 #define ATM_CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK 0x02 #define ATM_CAUSE_NO_ROUTE_TO_DESTINATION 0x03 #define ATM_CAUSE_VPI_VCI_UNACCEPTABLE 0x0A #define ATM_CAUSE_NORMAL_CALL_CLEARING 0x10 #define ATM_CAUSE_USER_BUSY 0x11 #define ATM_CAUSE_NO_USER_RESPONDING 0x12 #define ATM_CAUSE_CALL_REJECTED 0x15 #define ATM_CAUSE_NUMBER_CHANGED 0x16 #define ATM_CAUSE_USER_REJECTS_CLIR 0x17 #define ATM_CAUSE_DESTINATION_OUT_OF_ORDER 0x1B #define ATM_CAUSE_INVALID_NUMBER_FORMAT 0x1C #define ATM_CAUSE_STATUS_ENQUIRY_RESPONSE 0x1E #define ATM_CAUSE_NORMAL_UNSPECIFIED 0x1F #define ATM_CAUSE_VPI_VCI_UNAVAILABLE 0x23 #define ATM_CAUSE_NETWORK_OUT_OF_ORDER 0x26 #define ATM_CAUSE_TEMPORARY_FAILURE 0x29 #define ATM_CAUSE_ACCESS_INFORMATION_DENIED 0x2B #define ATM_CAUSE_NO_VPI_VCI_AVAILABLE 0x2D #define ATM_CAUSE_RESOURCE_UNAVAILABLE 0x2F #define ATM_CAUSE_QOS_UNAVAILABLE 0x31 #define ATM_CAUSE_USER_CELL_RATE_UNAVAILABLE 0x33 #define ATM_CAUSE_BEARER_CAPABILITY_UNAUTHORIZED 0x39 #define ATM_CAUSE_BEARER_CAPABILITY_UNAVAILABLE 0x3A #define ATM_CAUSE_OPTION_UNAVAILABLE 0x3F #define ATM_CAUSE_BEARER_CAPABILITY_UNIMPLEMENTED 0x41 #define ATM_CAUSE_UNSUPPORTED_TRAFFIC_PARAMETERS 0x49 #define ATM_CAUSE_INVALID_CALL_REFERENCE 0x51 #define ATM_CAUSE_CHANNEL_NONEXISTENT 0x52 #define ATM_CAUSE_INCOMPATIBLE_DESTINATION 0x58 #define ATM_CAUSE_INVALID_ENDPOINT_REFERENCE 0x59 #define ATM_CAUSE_INVALID_TRAFFIC_NETWORK_SELECTION 0x5B #define ATM_CAUSE_TOO_MANY_PENDING_ADD_PARTY 0x5C #define ATM_CAUSE_AAL_PARAMETERS_UNSUPPORTED 0x5D #define ATM_CAUSE_MANDATORY_IE_MISSING 0x60 #define ATM_CAUSE_UNIMPLEMENTED_MESSAGE_TYPE 0x61 #define ATM_CAUSE_UNIMPLEMENTED_IE 0x63 #define ATM_CAUSE_INVALID_IE_CONTENTS 0x64 #define ATM_CAUSE_INVALID_STATE_FOR_MESSAGE 0x65 #define ATM_CAUSE_RECOVERY_ON_TIMEOUT 0x66 #define ATM_CAUSE_INCORRECT_MESSAGE_LENGTH 0x68 #define ATM_CAUSE_PROTOCOL_ERROR 0x6F /* ATM cause conditions */ #define ATM_CAUSE_COND_UNKNOWN 0x00 #define ATM_CAUSE_COND_PERMANENT 0x01 #define ATM_CAUSE_COND_TRANSIENT 0x02 /* ATM cause reasons */ #define ATM_CAUSE_REASON_USER 0x00 #define ATM_CAUSE_REASON_IE_MISSING 0x04 #define ATM_CAUSE_REASON_IE_INSUFFICIENT 0x08 /* ATM cause P-U flags */ #define ATM_CAUSE_PU_PROVIDER 0x00 #define ATM_CAUSE_PU_USER 0x08 /* ATM cause N-A flags */ #define ATM_CAUSE_NA_NORMAL 0x00 #define ATM_CAUSE_NA_ABNORMAL 0x04 /* Parameter type special values */ #define ATM_MEDIA_SPECIFIC 0x00000001L #define CALLMGR_SPECIFIC_Q2931 0x00000001L /* ATM service categories */ #define ATM_SERVICE_CATEGORY_CBR 1L #define ATM_SERVICE_CATEGORY_VBR 2L #define ATM_SERVICE_CATEGORY_UBR 4L #define ATM_SERVICE_CATEGORY_ABR 8L /* SAP field values */ #ifndef SAP_FIELD_ABSENT #define SAP_FIELD_ABSENT 0xFFFFFFFEL #endif #ifndef SAP_FIELD_ANY #define SAP_FIELD_ANY 0xFFFFFFFFL #endif #define SAP_FIELD_ANY_AESA_SEL 0xFFFFFFFAL #define SAP_FIELD_ANY_AESA_REST 0xFFFFFFFBL /* Add PVC flags */ #define CO_FLAG_SIGNALING_VC 0x00000001L #define CO_FLAG_NO_DEST_SAP 0x00000002L #define CO_FLAG_NO_LOCAL_SAP 0x00000004L /* ATM physical rates */ #define ATM_PHYS_RATE_SONET_STS3C 155520000 #define ATM_PHYS_RATE_IBM_25 25600000 /* ATM cell transfer capacities */ #define ATM_CELL_TRANSFER_CAPACITY_SONET_STS3C 149760000 #define ATM_CELL_TRANSFER_CAPACITY_IBM_25 25125926 /* ATM user data rates */ #define ATM_USER_DATA_RATE_SONET_125 1356317 #define ATM_USER_DATA_RATE_IBM_25 227556 /* ATM service registry types */ #define ATM_SERVICE_REGISTRY_LECS 1L #define ATM_SERVICE_REGISTRY_ANS 2L /* ATM address */ typedef struct _ATM_ADDRESS { ATM_ADDRESSTYPE AddressType; ULONG NumberOfDigits; UCHAR Address[ATM_ADDRESS_LENGTH]; } ATM_ADDRESS; typedef ATM_ADDRESS *PATM_ADDRESS; typedef ATM_ADDRESS ATM_CALLED_PARTY_NUMBER_IE; typedef ATM_ADDRESS ATM_CALLED_PARTY_SUBADDRESS_IE; typedef ATM_ADDRESS ATM_CALLING_PARTY_SUBADDRESS_IE; /* Information element types */ typedef enum { IE_AALParameters = 0, IE_TrafficDescriptor = 1, IE_BroadbandBearerCapability = 2, IE_BHLI = 3, IE_BLLI = 4, IE_CalledPartyNumber = 5, IE_CalledPartySubaddress = 6, IE_CallingPartyNumber = 7, IE_CallingPartySubaddress = 8, IE_Cause = 9, IE_QOSClass = 10, IE_TransitNetworkSelection = 11, IE_BroadcastSendingComplete = 12, IE_LIJCallId = 13, IE_Raw = 14 } Q2931_IE_TYPE; /* Information element */ typedef struct _Q2931_IE { Q2931_IE_TYPE IEType; ULONG IELength; UCHAR IE[1]; } Q2931_IE; typedef Q2931_IE *PQ2931_IE; /* AAL1 parameters */ typedef struct _AAL1_PARAMETERS { UCHAR Subtype; UCHAR CBRRate; USHORT Multiplier; UCHAR SourceClockRecoveryMethod; UCHAR ErrorCorrectionMethod; USHORT StructuredDataTransferBlockSize; UCHAR PartiallyFilledCellsMethod; } AAL1_PARAMETERS; typedef AAL1_PARAMETERS *PAAL1_PARAMETERS; /* AAL34 parameters */ typedef struct _AAL34_PARAMETERS { USHORT ForwardMaxCPCSSDUSize; USHORT BackwardMaxCPCSSDUSize; USHORT LowestMID; USHORT HighestMID; UCHAR SSCSType; } AAL34_PARAMETERS; typedef AAL34_PARAMETERS *PAAL34_PARAMETERS; /* AAL5 parameters */ typedef struct _AAL5_PARAMETERS { ULONG ForwardMaxCPCSSDUSize; ULONG BackwardMaxCPCSSDUSize; UCHAR Mode; UCHAR SSCSType; } AAL5_PARAMETERS; typedef AAL5_PARAMETERS *PAAL5_PARAMETERS; /* AAL user parameters */ typedef struct _AALUSER_PARAMETERS { ULONG UserDefined; } AALUSER_PARAMETERS; typedef AALUSER_PARAMETERS *PAALUSER_PARAMETERS; /* AAL parameters information element */ typedef struct _AAL_PARAMETERS_IE { ATM_AAL_TYPE AALType; union { AAL1_PARAMETERS AAL1Parameters; AAL34_PARAMETERS AAL34Parameters; AAL5_PARAMETERS AAL5Parameters; AALUSER_PARAMETERS AALUserParameters; } AALSpecificParameters; } AAL_PARAMETERS_IE; typedef AAL_PARAMETERS_IE *PAAL_PARAMETERS_IE; /* ATM traffic descriptor */ typedef struct _ATM_TRAFFIC_DESCRIPTOR { ULONG PeakCellRateCLP0; ULONG PeakCellRateCLP01; ULONG SustainableCellRateCLP0; ULONG SustainableCellRateCLP01; ULONG MaximumBurstSizeCLP0; ULONG MaximumBurstSizeCLP01; BOOLEAN Tagging; } ATM_TRAFFIC_DESCRIPTOR; typedef ATM_TRAFFIC_DESCRIPTOR *PATM_TRAFFIC_DESCRIPTOR; /* ATM traffic descriptor information element */ typedef struct _ATM_TRAFFIC_DESCRIPTOR_IE { ATM_TRAFFIC_DESCRIPTOR ForwardTD; ATM_TRAFFIC_DESCRIPTOR BackwardTD; BOOLEAN BestEffort; } ATM_TRAFFIC_DESCRIPTOR_IE; typedef ATM_TRAFFIC_DESCRIPTOR_IE *PATM_TRAFFIC_DESCRIPTOR_IE; /* ATM broadband bearer capability information element */ typedef struct _ATM_BROADCAST_BEARER_CAPABILITY_IE { UCHAR BearerClass; UCHAR TrafficType; UCHAR TimingRequirements; UCHAR ClippingSusceptability; UCHAR UserPlaneConnectionConfig; } ATM_BROADCAST_BEARER_CAPABILITY_IE; typedef ATM_BROADCAST_BEARER_CAPABILITY_IE *PATM_BROADCAST_BEARER_CAPABILITY_IE; /* ATM broadband high layer information information element */ typedef struct _ATM_BHLI_IE { ULONG HighLayerInfoType; ULONG HighLayerInfoLength; UCHAR HighLayerInfo[8]; } ATM_BHLI_IE; typedef ATM_BHLI_IE *PATM_BHLI_IE; /* ATM broadband lower layer information information element */ typedef struct _ATM_BLLI_IE { ULONG Layer2Protocol; UCHAR Layer2Mode; UCHAR Layer2WindowSize; ULONG Layer2UserSpecifiedProtocol; ULONG Layer3Protocol; UCHAR Layer3Mode; UCHAR Layer3DefaultPacketSize; UCHAR Layer3PacketWindowSize; ULONG Layer3UserSpecifiedProtocol; ULONG Layer3IPI; UCHAR SnapId[5]; } ATM_BLLI_IE; typedef ATM_BLLI_IE *PATM_BLLI_IE; /* ATM calling party number information element */ typedef struct _ATM_CALLING_PARTY_NUMBER_IE { ATM_ADDRESS Number; UCHAR PresentationIndication; UCHAR ScreeningIndicator; } ATM_CALLING_PARTY_NUMBER_IE; typedef ATM_CALLING_PARTY_NUMBER_IE *PATM_CALLING_PARTY_NUMBER_IE; /* ATM quality of service class information element */ typedef struct _ATM_QOS_CLASS_IE { UCHAR QOSClassForward; UCHAR QOSClassBackward; } ATM_QOS_CLASS_IE; typedef ATM_QOS_CLASS_IE *PATM_QOS_CLASS_IE; /* ATM broadband sending complete information element */ typedef struct _ATM_BROADBAND_SENDING_COMPLETE_IE { UCHAR SendingComplete; } ATM_BROADBAND_SENDING_COMPLETE_IE; typedef ATM_BROADBAND_SENDING_COMPLETE_IE *PATM_BROADBAND_SENDING_COMPLETE_IE; /* ATM transit network selection information element */ typedef struct _ATM_TRANSIT_NETWORK_SELECTION_IE { UCHAR TypeOfNetworkId; UCHAR NetworkIdPlan; UCHAR NetworkIdLength; UCHAR NetworkId[1]; } ATM_TRANSIT_NETWORK_SELECTION_IE; typedef ATM_TRANSIT_NETWORK_SELECTION_IE *PATM_TRANSIT_NETWORK_SELECTION_IE; /* ATM cause information element */ typedef struct _ATM_CAUSE_IE { UCHAR Location; UCHAR Cause; UCHAR DiagnosticsLength; UCHAR Diagnostics[4]; } ATM_CAUSE_IE; typedef ATM_CAUSE_IE *PATM_CAUSE_IE; /* ATM leaf initiated join call identifier information element */ typedef struct _ATM_LIJ_CALLID_IE { ULONG Identifier; } ATM_LIJ_CALLID_IE; typedef ATM_LIJ_CALLID_IE *PATM_LIJ_CALLID_IE; /* ATM raw information element */ typedef struct _ATM_RAW_IE { ULONG RawIELength; ULONG RawIEType; UCHAR RawIEValue[1]; } ATM_RAW_IE; typedef ATM_RAW_IE *PATM_RAW_IE; /* Call manager parameters */ typedef struct _Q2931_CALLMGR_PARAMETERS { ATM_ADDRESS CalledParty; ATM_ADDRESS CallingParty; ULONG InfoElementCount; UCHAR InfoElements[1]; } Q2931_CALLMGR_PARAMETERS; typedef Q2931_CALLMGR_PARAMETERS *PQ2931_CALLMGR_PARAMETERS; /* ATM VPIVCI */ typedef struct _ATM_VPIVCI { ULONG Vpi; ULONG Vci; } ATM_VPIVCI; typedef ATM_VPIVCI *PATM_VPIVCI; /* ATM flow parameters */ typedef struct _ATM_FLOW_PARAMETERS { ATM_SERVICE_CATEGORY ServiceCategory; ULONG AverageCellRate; ULONG PeakCellRate; ULONG MinimumCellRate; ULONG InitialCellRate; ULONG BurstLengthCells; ULONG MaxSduSize; ULONG TransientBufferExposure; ULONG CumulativeRMFixedRTT; UCHAR RateIncreaseFactor; UCHAR RateDecreaseFactor; USHORT ACRDecreaseTimeFactor; UCHAR MaximumCellsPerForwardRMCell; UCHAR MaximumForwardRMCellInterval; UCHAR CutoffDecreaseFactor; UCHAR Reserved1; ULONG MissingRMCellCount; ULONG Reserved2; ULONG Reserved3; } ATM_FLOW_PARAMETERS; typedef ATM_FLOW_PARAMETERS *PATM_FLOW_PARAMETERS; /* ATM media parameters */ typedef struct _ATM_MEDIA_PARAMETERS { ATM_VPIVCI ConnectionId; ATM_AAL_TYPE AALType; ULONG CellDelayVariationCLP0; ULONG CellDelayVariationCLP1; ULONG CellLossRatioCLP0; ULONG CellLossRatioCLP1; ULONG CellTransferDelayCLP0; ULONG CellTransferDelayCLP1; ULONG DefaultCLP; ATM_FLOW_PARAMETERS Transmit; ATM_FLOW_PARAMETERS Receive; } ATM_MEDIA_PARAMETERS; typedef ATM_MEDIA_PARAMETERS *PATM_MEDIA_PARAMETERS; /* ATM SAP */ typedef struct _ATM_SAP { ATM_BLLI_IE Blli; ATM_BHLI_IE Bhli; ULONG NumberOfAddresses; UCHAR Addresses[1]; } ATM_SAP; typedef ATM_SAP *PATM_SAP; /* ATM PVC SAP */ typedef struct _ATM_PVC_SAP { ATM_BLLI_IE Blli; ATM_BHLI_IE Bhli; } ATM_PVC_SAP; typedef ATM_PVC_SAP *PATM_PVC_SAP; /* Add PVC */ typedef struct _Q2931_ADD_PVC { ATM_ADDRESS CalledParty; ATM_ADDRESS CallingParty; ATM_VPIVCI ConnectionId; ATM_AAL_TYPE AALType; ATM_FLOW_PARAMETERS ForwardFP; ATM_FLOW_PARAMETERS BackwardFP; ULONG Flags; ATM_PVC_SAP LocalSap; ATM_PVC_SAP DestinationSap; BOOLEAN LIJIdPresent; ATM_LIJ_CALLID_IE LIJId; } Q2931_ADD_PVC; typedef Q2931_ADD_PVC *PQ2931_ADD_PVC; /* Delete PVC */ typedef struct _Q2931_DELETE_PVC { ATM_VPIVCI ConnectionId; } Q2931_DELETE_PVC; typedef Q2931_DELETE_PVC *PQ2931_DELETE_PVC; /* Get call information */ typedef struct _CO_GET_CALL_INFORMATION { ULONG CallInfoType; ULONG CallInfoLength; PVOID CallInfoBuffer; } CO_GET_CALL_INFORMATION; typedef CO_GET_CALL_INFORMATION *PCO_GET_CALL_INFORMATION; /* ATM VC rates supported */ typedef struct ATM_VC_RATES_SUPPORTED { ULONG MinCellRate; ULONG MaxCellRate; } ATM_VC_RATES_SUPPORTED; typedef ATM_VC_RATES_SUPPORTED *PATM_VC_RATES_SUPPORTED; /* ATM AAL OOB information */ typedef struct _ATM_AAL_OOB_INFO { ATM_AAL_TYPE AalType; union { struct _ATM_AAL5_INFO { BOOLEAN CellLossPriority; UCHAR UserToUserIndication; UCHAR CommonPartIndicator; } ATM_AAL5_INFO; struct _ATM_AAL0_INFO { BOOLEAN CellLossPriority; UCHAR PayLoadTypeIdentifier; } ATM_AAL0_INFO; }; } ATM_AAL_OOB_INFO; typedef ATM_AAL_OOB_INFO *PATM_AAL_OOB_INFO; /* ATM service address list */ typedef struct _ATM_SERVICE_ADDRESS_LIST { ATM_SERVICE_REGISTRY_TYPE ServiceRegistryType; ULONG NumberOfAddressesAvailable; ULONG NumberOfAddressesReturned; ATM_ADDRESS Address[1]; } ATM_SERVICE_ADDRESS_LIST; typedef ATM_SERVICE_ADDRESS_LIST *PATM_SERVICE_ADDRESS_LIST; #ifdef __cplusplus } /* extern "C" */ #endif #endif /* _ATM_H_ */