⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 atm.h

📁 MinGW+MSYS开发必用的api参考
💻 H
📖 第 1 页 / 共 2 页
字号:
/* * atm.h * * ATM support * * This file is part of the w32api package. * * Contributors: *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net> * * THIS SOFTWARE IS NOT COPYRIGHTED * * This source code is offered for use in the public domain. You may * use, modify or distribute it freely. * * This code is distributed in the hope that it will be useful but * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY * DISCLAIMED. This includes but is not limited to warranties of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * */#ifndef __ATM_H#define __ATM_H#if __GNUC__ >=3#pragma GCC system_header#endif#ifdef __cplusplusextern "C" {#endiftypedef ULONG	ATM_ADDRESSTYPE;#define SAP_TYPE_NSAP			                1#define SAP_TYPE_E164			                2#define ATM_MEDIA_SPECIFIC                1#define CALLMGR_SPECIFIC_Q2931            1#define	ATM_NSAP				                  0#define	ATM_E164				                  1#define	ATM_MAC_ADDRESS_LENGTH	          6#define	ATM_ADDRESS_LENGTH		            20typedef ULONG	ATM_AAL_TYPE, *PATM_AAL_TYPE;#define	AAL_TYPE_AAL0			                1#define	AAL_TYPE_AAL1			                2#define	AAL_TYPE_AAL34			              4#define	AAL_TYPE_AAL5			                8#define ATM_ADDR_BLANK_CHAR				        L' '#define ATM_ADDR_E164_START_CHAR		      L'+'#define ATM_ADDR_PUNCTUATION_CHAR		      L'.'typedef enum {	IE_AALParameters,	IE_TrafficDescriptor,	IE_BroadbandBearerCapability,	IE_BHLI,	IE_BLLI,	IE_CalledPartyNumber,	IE_CalledPartySubaddress,	IE_CallingPartyNumber,	IE_CallingPartySubaddress,	IE_Cause,	IE_QOSClass,	IE_TransitNetworkSelection,	IE_BroadbandSendingComplete,	IE_LIJCallId,	IE_Raw} Q2931_IE_TYPE;typedef struct _Q2931_IE {  Q2931_IE_TYPE  IEType;  ULONG  IELength;  UCHAR  IE[1];} Q2931_IE, *PQ2931_IE;typedef struct _AAL1_PARAMETERS {  UCHAR  Subtype;  UCHAR  CBRRate;  USHORT  Multiplier;  UCHAR  SourceClockRecoveryMethod;  UCHAR  ErrorCorrectionMethod;  USHORT  StructuredDataTransferBlocksize;  UCHAR  PartiallyFilledCellsMethod;} AAL1_PARAMETERS, *PAAL1_PARAMETERS;typedef struct _AAL34_PARAMETERS {  USHORT  ForwardMaxCPCSSDUSize;  USHORT  BackwardMaxCPCSSDUSize;  USHORT  LowestMID;  USHORT  HighestMID;  UCHAR  SSCSType;} AAL34_PARAMETERS, *PAAL34_PARAMETERS;/* AAL5_PARAMETERS.Mode constants */#define AAL5_MODE_MESSAGE			            0x01#define AAL5_MODE_STREAMING			          0x02/* AAL5_PARAMETERS.SSCSType constants */#define AAL5_SSCS_NULL				            0x00#define AAL5_SSCS_SSCOP_ASSURED		        0x01#define AAL5_SSCS_SSCOP_NON_ASSURED	      0x02#define AAL5_SSCS_FRAME_RELAY		          0x04typedef struct _AAL5_PARAMETERS {  ULONG  ForwardMaxCPCSSDUSize;  ULONG  BackwardMaxCPCSSDUSize;  UCHAR  Mode;  UCHAR  SSCSType;} AAL5_PARAMETERS, *PAAL5_PARAMETERS;typedef struct _AALUSER_PARAMETERS {  ULONG  UserDefined;} AALUSER_PARAMETERS, *PAALUSER_PARAMETERS;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, *PAAL_PARAMETERS_IE;/* FIXME: Should the union be anonymous in C++ too?  If so,   can't define named types _ATM_AAL5_INFO and _ATM_AAL0_INFO   within anonymous union for C++. */typedef struct _ATM_AAL_OOB_INFO{	ATM_AAL_TYPE  AalType;#ifndef __cplusplus	_ANONYMOUS_UNION#endif	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;#ifndef __cplusplus	} DUMMYUNIONNAME;#else	} u;#endif} ATM_AAL_OOB_INFO, *PATM_AAL_OOB_INFO;typedef struct _ATM_ADDRESS  {   ATM_ADDRESSTYPE  AddressType;   ULONG  NumberOfDigits;   UCHAR  Address[ATM_ADDRESS_LENGTH]; } ATM_ADDRESS, *PATM_ADDRESS;/* ATM_BHLI_IE.HighLayerInfoType constants */#define BHLI_ISO				                  0x00#define BHLI_UserSpecific		              0x01#define BHLI_HighLayerProfile	            0x02#define BHLI_VendorSpecificAppId          0x03typedef struct _ATM_BHLI_IE {  ULONG  HighLayerInfoType;  ULONG  HighLayerInfoLength;  UCHAR  HighLayerInfo[8];} ATM_BHLI_IE, *PATM_BHLI_IE;/* ATM_BLLI_IE.Layer2Protocol constants */#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_SPECIFIED            0x10#define BLLI_L2_ISO_7776		              0x11/* ATM_BLLI_IE.Layer3Protocol constants */#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_SPECIFIED	          0x10/* ATM_BLLI_IE.Layer3IPI constants */#define BLLI_L3_IPI_SNAP		              0x80#define BLLI_L3_IPI_IP			              0xCCtypedef 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, *PATM_BLLI_IE;/* ATM_BROADBAND_BEARER_CAPABILITY_IE.BearerClass constants */#define BCOB_A					                  0x00#define BCOB_C					                  0x01#define BCOB_X					                  0x02/* ATM_BROADBAND_BEARER_CAPABILITY_IE.TrafficType constants */#define TT_NOIND				                  0x00#define TT_CBR					                  0x04#define TT_VBR					                  0x08/* ATM_BROADBAND_BEARER_CAPABILITY_IE.TimingRequirements constants */#define TR_NOIND				                  0x00#define TR_END_TO_END			                0x01#define TR_NO_END_TO_END		              0x02/* ATM_BROADBAND_BEARER_CAPABILITY_IE.ClippingSusceptability constants */#define CLIP_NOT				                  0x00#define CLIP_SUS				                  0x20/* ATM_BROADBAND_BEARER_CAPABILITY_IE.UserPlaneConnectionConfig constants */#define UP_P2P					                  0x00#define UP_P2MP					                  0x01typedef struct _ATM_BROADBAND_BEARER_CAPABILITY_IE {  UCHAR  BearerClass;  UCHAR  TrafficType;  UCHAR  TimingRequirements;  UCHAR  ClippingSusceptability;  UCHAR  UserPlaneConnectionConfig;} ATM_BROADBAND_BEARER_CAPABILITY_IE, *PATM_BROADBAND_BEARER_CAPABILITY_IE;typedef struct _ATM_BROADBAND_SENDING_COMPLETE_IE {  UCHAR  SendingComplete;} ATM_BROADBAND_SENDING_COMPLETE_IE, *PATM_BROADBAND_SENDING_COMPLETE_IE;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -