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

📄 sdla_x25.h

📁 基于组件方式开发操作系统的OSKIT源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
 * X25_HDLC_LINK_STATUS Command. */typedef struct X25LinkStatus{	unsigned char txQueued	PACKED;	/* 00h: queued Tx I-frames*/	unsigned char rxQueued	PACKED;	/* 01h: queued Rx I-frames*/	unsigned char station	PACKED;	/* 02h: DTE/DCE config. */	unsigned char reserved	PACKED;	/* 03h: reserved */	unsigned char sfTally	PACKED;	/* 04h: supervisory frame tally */} TX25LinkStatus;/* * Defines for the 'station' field. */#define	X25_STATION_DTE	0x01	/* station configured as DTE */#define X25_STATION_DCE	0x02	/* station configured as DCE *//* --------------------------------------------------------------------------- * X25_HDLC_READ_STATS Command. */typedef struct HdlcStats{						/*	a number of ... */	unsigned short rxIFrames	PACKED;	/* 00h: ready Rx I-frames */	unsigned short rxNoseq		PACKED;	/* 02h: frms out-of-sequence */	unsigned short rxNodata		PACKED;	/* 04h: I-frms without data */	unsigned short rxDiscarded	PACKED;	/* 06h: discarded frames */	unsigned short rxTooLong	PACKED;	/* 08h: frames too long */	unsigned short rxBadAddr	PACKED;	/* 0Ah: frms with inval.addr*/	unsigned short txAcked		PACKED;	/* 0Ch: acknowledged I-frms */	unsigned short txRetransm	PACKED;	/* 0Eh: re-transmit. I-frms */	unsigned short t1Timeout	PACKED;	/* 10h: T1 timeouts */	unsigned short rxSABM		PACKED;	/* 12h: received SABM frames */	unsigned short rxDISC		PACKED;	/* 14h: received DISC frames */	unsigned short rxDM		PACKED;	/* 16h: received DM frames */	unsigned short rxFRMR		PACKED;	/* 18h: FRMR frames received */	unsigned short txSABM		PACKED;	/* 1Ah: transm. SABM frames*/	unsigned short txDISC		PACKED;	/* 1Ch: transm. DISC frames*/	unsigned short txDM		PACKED;	/* 1Eh: transm. DM frames */	unsigned short txFRMR		PACKED;	/* 20h: transm. FRMR frames*/} THdlcStats;/* --------------------------------------------------------------------------- * X25_HDLC_READ_COMM_ERR Command. */typedef struct HdlcCommErr{						/*	a number of ... */	unsigned char rxOverrun		PACKED;	/* 00h: Rx overrun errors */	unsigned char rxBadCrc		PACKED;	/* 01h: Rx CRC errors */	unsigned char rxAborted		PACKED;	/* 02h: Rx aborted frames */	unsigned char rxDropped		PACKED;	/* 03h: frames lost */	unsigned char txAborted		PACKED;	/* 04h: Tx aborted frames */	unsigned char txUnderrun	PACKED;	/* 05h: Tx underrun errors */	unsigned char txMissIntr	PACKED;	/* 06h: missed underrun ints */	unsigned char reserved		PACKED;	/* 07h: reserved */	unsigned char droppedDCD	PACKED;	/* 08h: times DCD dropped */	unsigned char droppedCTS	PACKED;	/* 09h: times CTS dropped */} THdlcCommErr;/* --------------------------------------------------------------------------- * X25_SET_CONFIGURATION & X25_READ_CONFIGURATION Commands. */typedef struct X25Config{	unsigned char baudRate		PACKED;	/* 00h:  */	unsigned char t1		PACKED;	/* 01h:  */	unsigned char t2		PACKED;	/* 02h:  */	unsigned char n2		PACKED;	/* 03h:  */	unsigned short hdlcMTU		PACKED;	/* 04h:  */	unsigned char hdlcWindow	PACKED;	/* 06h:  */	unsigned char t4		PACKED;	/* 07h:  */	unsigned char autoModem		PACKED;	/* 08h:  */	unsigned char autoHdlc		PACKED;	/* 09h:  */	unsigned char hdlcOptions	PACKED;	/* 0Ah:  */	unsigned char station		PACKED;	/* 0Bh:  */	unsigned char pktWindow		PACKED;	/* 0Ch:  */	unsigned short defPktSize	PACKED;	/* 0Dh:  */	unsigned short pktMTU		PACKED;	/* 0Fh:  */	unsigned short loPVC		PACKED;	/* 11h:  */	unsigned short hiPVC		PACKED;	/* 13h:  */	unsigned short loIncomingSVC	PACKED;	/* 15h:  */	unsigned short hiIncomingSVC	PACKED;	/* 17h:  */	unsigned short loTwoWaySVC	PACKED;	/* 19h:  */	unsigned short hiTwoWaySVC	PACKED;	/* 1Bh:  */	unsigned short loOutgoingSVC	PACKED;	/* 1Dh:  */	unsigned short hiOutgoingSVC	PACKED;	/* 1Fh:  */	unsigned short options		PACKED;	/* 21h:  */	unsigned char responseOpt	PACKED;	/* 23h:  */	unsigned short facil1		PACKED;	/* 24h:  */	unsigned short facil2		PACKED;	/* 26h:  */	unsigned short ccittFacil	PACKED;	/* 28h:  */	unsigned short otherFacil	PACKED;	/* 2Ah:  */	unsigned short ccittCompat	PACKED;	/* 2Ch:  */	unsigned char t10t20		PACKED;	/* 2Eh:  */	unsigned char t11t21		PACKED;	/* 2Fh:  */	unsigned char t12t22		PACKED;	/* 30h:  */	unsigned char t13t23		PACKED;	/* 31h:  */	unsigned char t16t26		PACKED;	/* 32H:  */	unsigned char t28		PACKED;	/* 33h:  */	unsigned char r10r20		PACKED;	/* 34h:  */	unsigned char r12r22		PACKED;	/* 35h:  */	unsigned char r13r23		PACKED;	/* 36h:  */} TX25Config;/* --------------------------------------------------------------------------- * X25_READ_CHANNEL_CONFIG Command. */typedef struct X25ChanAlloc			/*----- Channel allocation -*/{	unsigned short loPVC		PACKED;	/* 00h: lowest PVC number */	unsigned short hiPVC		PACKED;	/* 02h: highest PVC number */	unsigned short loIncomingSVC	PACKED;	/* 04h: lowest incoming SVC */	unsigned short hiIncomingSVC	PACKED;	/* 06h: highest incoming SVC */	unsigned short loTwoWaySVC	PACKED;	/* 08h: lowest two-way SVC */	unsigned short hiTwoWaySVC	PACKED;	/* 0Ah: highest two-way SVC */	unsigned short loOutgoingSVC	PACKED;	/* 0Ch: lowest outgoing SVC */	unsigned short hiOutgoingSVC	PACKED;	/* 0Eh: highest outgoing SVC */} TX25ChanAlloc;typedef struct X25ChanCfg		/*------ Channel configuration -----*/{	unsigned char type	PACKED;	/* 00h: channel type */	unsigned char txConf	PACKED;	/* 01h: Tx packet and window sizes */	unsigned char rxConf	PACKED;	/* 01h: Rx packet and window sizes */} TX25ChanCfg;/* * Defines for the 'type' field. */#define	X25_PVC  	0x01	/* PVC */#define	X25_SVC_IN	0x03	/* Incoming SVC */#define	X25_SVC_TWOWAY	0x07	/* Two-way SVC */#define	X25_SVC_OUT	0x0B	/* Outgoing SVC *//*---------------------------------------------------------------------------- * X25_READ_STATISTICS Command. */typedef struct X25Stats{						/* number of packets Tx/Rx'ed */	unsigned short txRestartRqst	PACKED;	/* 00h: Restart Request */	unsigned short rxRestartRqst	PACKED;	/* 02h: Restart Request */	unsigned short txRestartConf	PACKED;	/* 04h: Restart Confirmation */	unsigned short rxRestartConf	PACKED;	/* 06h: Restart Confirmation */	unsigned short txResetRqst	PACKED;	/* 08h: Reset Request */	unsigned short rxResetRqst	PACKED;	/* 0Ah: Reset Request */	unsigned short txResetConf	PACKED;	/* 0Ch: Reset Confirmation */	unsigned short rxResetConf	PACKED;	/* 0Eh: Reset Confirmation */	unsigned short txCallRequest	PACKED;	/* 10h: Call Request */	unsigned short rxCallRequest	PACKED;	/* 12h: Call Request */	unsigned short txCallAccept	PACKED;	/* 14h: Call Accept */	unsigned short rxCallAccept	PACKED;	/* 16h: Call Accept */	unsigned short txClearRqst	PACKED;	/* 18h: Clear Request */	unsigned short rxClearRqst	PACKED;	/* 1Ah: Clear Request */	unsigned short txClearConf	PACKED;	/* 1Ch: Clear Confirmation */	unsigned short rxClearConf	PACKED;	/* 1Eh: Clear Confirmation */	unsigned short txDiagnostic	PACKED;	/* 20h: Diagnostic */	unsigned short rxDiagnostic	PACKED;	/* 22h: Diagnostic */	unsigned short txRegRqst	PACKED;	/* 24h: Registration Request */	unsigned short rxRegRqst	PACKED;	/* 26h: Registration Request */	unsigned short txRegConf	PACKED;	/* 28h: Registration Confirm.*/	unsigned short rxRegConf	PACKED;	/* 2Ah: Registration Confirm.*/	unsigned short txInterrupt	PACKED;	/* 2Ch: Interrupt */	unsigned short rxInterrupt	PACKED;	/* 2Eh: Interrupt */	unsigned short txIntrConf	PACKED;	/* 30h: Interrupt Confirm. */	unsigned short rxIntrConf	PACKED;	/* 32h: Interrupt Confirm. */	unsigned short txData		PACKED;	/* 34h: Data */	unsigned short rxData		PACKED;	/* 36h: Data */	unsigned short txRR		PACKED;	/* 38h: RR */	unsigned short rxRR		PACKED;	/* 3Ah: RR */	unsigned short txRNR		PACKED;	/* 3Ch: RNR */	unsigned short rxRNR		PACKED;	/* 3Eh: RNR */} TX25Stats;/*---------------------------------------------------------------------------- * X25_READ_HISTORY_TABLE Command. */typedef struct X25EventLog{	unsigned char	type	PACKED;	/* 00h: transaction type */	unsigned short	lcn	PACKED;	/* 01h: logical channel num */	unsigned char	packet	PACKED;	/* 03h: async packet type */	unsigned char	cause	PACKED;	/* 04h: X.25 cause field */	unsigned char	diag	PACKED;	/* 05h: X.25 diag field */	TX25TimeStamp	ts	PACKED;	/* 06h: time stamp */} TX25EventLog;/* * Defines for the 'type' field. */#define X25LOG_INCOMING		0x00#define X25LOG_APPLICATION 	0x01#define X25LOG_AUTOMATIC	0x02#define X25LOG_ERROR		0x04#define X25LOG_TIMEOUT		0x08#define X25LOG_RECOVERY		0x10/* * Defines for the 'packet' field. */#define X25LOG_CALL_RQST	0x0B#define X25LOG_CALL_ACCEPTED	0x0F#define X25LOG_CLEAR_RQST	0x13#define X25LOG_CLEAR_CONFRM	0x17#define X25LOG_RESET_RQST	0x1B#define X25LOG_RESET_CONFRM	0x1F#define X25LOG_RESTART_RQST	0xFB#define X25LOG_RESTART_COMFRM	0xFF#define X25LOG_DIAGNOSTIC	0xF1#define X25LOG_DTE_REG_RQST	0xF3#define X25LOG_DTE_REG_COMFRM	0xF7/* --------------------------------------------------------------------------- * X25_TRACE_CONFIGURE Command. */typedef struct X25TraceCfg{	unsigned char flags	PACKED;	/* 00h: trace configuration flags */	unsigned char timeout	PACKED;	/* 01h: timeout for trace delay mode*/} TX25TraceCfg;/* * Defines for the 'flags' field. */#define X25_TRC_ENABLE		0x01	/* bit0: '1' - trace enabled */#define X25_TRC_TIMESTAMP	0x02	/* bit1: '1' - time stamping enabled*/#define X25_TRC_DELAY		0x04	/* bit2: '1' - trace delay enabled */#define X25_TRC_DATA		0x08	/* bit3: '1' - trace data packets */#define X25_TRC_SUPERVISORY	0x10    /* bit4: '1' - trace suprvisory pkts*/#define X25_TRC_ASYNCHRONOUS	0x20	/* bit5: '1' - trace asynch. packets*/#define X25_TRC_HDLC		0x40	/* bit6: '1' - trace all packets */#define X25_TRC_READ		0x80	/* bit7: '1' - get current config. *//* --------------------------------------------------------------------------- * X25_READ_TRACE_DATA Command. */typedef struct X25Trace			/*----- Trace data structure -------*/{	unsigned short length	PACKED;	/* 00h: trace data length */	unsigned char type	PACKED;	/* 02h: trace type */	unsigned char lost_cnt	PACKED;	/* 03h: N of traces lost */	TX25TimeStamp tstamp	PACKED;	/* 04h: mon/date/sec/min/hour */	unsigned short millisec	PACKED;	/* 09h: ms time stamp */	unsigned char data[0]	PACKED;	/* 0Bh: traced frame */} TX25Trace;/* * Defines for the 'type' field. */#define X25_TRC_TYPE_MASK	0x0F	/* bits 0..3: trace type */#define X25_TRC_TYPE_RX_FRAME	0x00	/* received frame trace */#define X25_TRC_TYPE_TX_FRAME	0x01	/* transmitted frame */#define X25_TRC_TYPE_ERR_FRAME	0x02	/* error frame */#define X25_TRC_ERROR_MASK	0xF0	/* bits 4..7: error code */#define X25_TRCERR_RX_ABORT	0x10	/* receive abort error */#define X25_TRCERR_RX_BADCRC	0x20	/* receive CRC error */#define X25_TRCERR_RX_OVERRUN	0x30	/* receiver overrun error */#define X25_TRCERR_RX_TOO_LONG	0x40	/* excessive frame length error */#define X25_TRCERR_TX_ABORT	0x70	/* aborted frame transmission error */#define X25_TRCERR_TX_UNDERRUN	0x80	/* transmit underrun error *//***************************************************************************** * Following definitions describe HDLC frame and X.25 packet formats. ****************************************************************************/typedef struct HDLCFrame		/*----- DHLC Frame Format ----------*/{	unsigned char addr	PACKED;	/* address field */	unsigned char cntl	PACKED;	/* control field */	unsigned char data[0]	PACKED;} THDLCFrame;typedef struct X25Pkt			/*----- X.25 Packet Format ----------*/{	unsigned char lcn_hi	PACKED;	/* 4 MSB of Logical Channel Number */	unsigned char lcn_lo	PACKED;	/* 8 LSB of Logical Channel Number */	unsigned char type	PACKED;	unsigned char data[0]	PACKED;} TX25Pkt;/* * Defines for the 'lcn_hi' field. */#define	X25_Q_BIT_MASK		0x80	/* Data Qualifier Bit mask */#define	X25_D_BIT_MASK		0x40	/* Delivery Confirmation Bit mask */#define	X25_M_BITS_MASK		0x30	/* Modulo Bits mask */#define	X25_LCN_MSB_MASK	0x0F	/* LCN most significant bits mask *//* * Defines for the 'type' field. */#define	X25PKT_DATA		0x01	/* Data packet mask */#define	X25PKT_SUPERVISORY	0x02	/* Supervisory packet mask */#define	X25PKT_CALL_RQST	0x0B	/* Call Request/Incoming */#define	X25PKT_CALL_ACCEPTED	0x0F	/* Call Accepted/Connected */#define	X25PKT_CLEAR_RQST	0x13	/* Clear Request/Indication */#define	X25PKT_CLEAR_CONFRM	0x17	/* Clear Confirmation */#define	X25PKT_RESET_RQST	0x1B	/* Reset Request/Indication */#define	X25PKT_RESET_CONFRM	0x1F	/* Reset Confirmation */#define	X25PKT_RESTART_RQST	0xFB	/* Restart Request/Indication */#define	X25PKT_RESTART_CONFRM	0xFF	/* Restart Confirmation */#define	X25PKT_INTERRUPT	0x23	/* Interrupt */#define	X25PKT_INTERRUPT_CONFRM	0x27	/* Interrupt Confirmation */#define	X25PKT_DIAGNOSTIC	0xF1	/* Diagnostic */#define	X25PKT_REGISTR_RQST	0xF3	/* Registration Request */#define	X25PKT_REGISTR_CONFRM	0xF7	/* Registration Confirmation */#define	X25PKT_RR_MASKED	0x01	/* Receive Ready packet after masking */#define	X25PKT_RNR_MASKED	0x05	/* Receive Not Ready after masking  */#ifdef		_MSC_#  pragma	pack()#endif#endif	/* _SDLA_X25_H */

⌨️ 快捷键说明

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