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

📄 nosio.h

📁 NORTi3 is a realtime multitasking operating system conforming to the micro-ITRON 3.0 specification.
💻 H
字号:
/******************************************************************************
* 俶俷俼俿倝懳墳 僔儖傾儖擖弌椡娭悢僿僢僟                                     *
*                                                                             *
*  File name : nosio.h                                                        *
*  Copyright (c) Miyazaki System Planning Office. 1993-1996                   *
*                                                                             *
* 93-04-14 嶌惉                                                               *
* 93-05-16 Ver1.13兝                                                          *
* 94-01-05 Ver1.14                                                            *
* 95-06-15 Ver1.20                                                            *
* 95-08-14 T_SIOFP 偺掕媊傪 nosio.c 傊堏偡                                    *
* 96-05-20 Ver1.21                                                            *
* 96-05-29 Ver1.30                                                            *
* 98-09-29 vram嶍彍                                                           *
******************************************************************************/

#ifndef	NOSIO_H
#define	NOSIO_H

#ifdef __cplusplus
extern "C" {
#endif

#ifdef LSI_C80
#ifndef	const
#define	const	/**/
#endif
#endif

/* 僄儔乕僐乕僪 */

#define	EV_SIOINI	1		/* 枹弶婜壔 */
#define	EV_SIOOVF	2		/* 庴怣僶僢僼傽僆乕僶僼儘乕 */
#define	EV_SIOPTY	3		/* 僷儕僥傿僄儔乕 */
#define	EV_SIOORN	4		/* 僆乕僶乕儔儞僄儔乕 */
#define	EV_SIOFRM	5		/* 僼儗乕儈儞僌僄儔乕 */
#define	EV_SIOBRK	6		/* 僽儗乕僋専弌 */

/* 婡擻僐乕僪 */

#define	TSIO_RXE	0x01	/* 庴怣僀僱乕僽儖 */
#define	TSIO_RXD	0x02	/* 庴怣僨傿僙乕僽儖 */
#define	TSIO_TXE	0x04	/* 憲怣僀僱乕僽儖 */
#define	TSIO_TXD	0x08	/* 憲怣僨傿僙乕僽儖 */
#define	TSIO_RTSON	0x10	/* RTS怣崋ON */
#define	TSIO_RTSOFF	0x20	/* RTS怣崋OFF */
#define	TSIO_DTRON	0x40	/* DTR怣崋ON */
#define	TSIO_DTROFF	0x80	/* DTR怣崋OFF */
#define	TSIO_RXCLR	0x0100	/* 庴怣僶僢僼傽僋儕傾 */
#define	TSIO_TXCLR	0x0200	/* 憲怣僶僢僼傽僋儕傾 */
#define	TSIO_SBON	0x0400	/* 僽儗乕僋憲怣ON */
#define	TSIO_SBOFF	0x0800	/* 僽儗乕僋憲怣OFF */

/* 僔儕傾儖擖弌椡忬懺僷働僢僩 */

typedef struct t_sios
{
	UB siostat;				/* 僔儕傾儖擖弌椡僗僥乕僞僗 */

#define	TSIO_CD		0x01	/* 庴怣僉儍儕傾専弌 */
#define	TSIO_CTS	0x02	/* CTS怣崋ON(1)/OFF(0) */
#define	TSIO_TXEMP	0x04	/* 憲怣僶僢僼傽嬻 */
#define	TSIO_PE		0x08	/* 僷儕僥傿僄儔乕 */
#define	TSIO_OE		0x10	/* 僆乕僶儔儞僄儔乕 */
#define	TSIO_FE		0x20	/* 僼儗乕儈儞僌僄儔乕 */
#define	TSIO_BD		0x40	/* 僽儗乕僋忬懺専弌 */
#define	TSIO_DSR	0x80	/* DSR怣崋ON(1)/OFF(0) */

	UB rxchr;				/* 庴怣僶僢僼傽偺愭摢偺暥帤乮枹巊梡乯*/
	UH rxlen;				/* 庴怣僶僢僼傽偺僨乕僞挿 */
	UH frbufsz;				/* 憲怣僶僢僼傽偺嬻偒僒僀僘 */
	UH eotcnt;				/* 庴怣僶僢僼傽偺廔抂暥帤屄悢 */

} T_SIOS;

/* 娭悢僾儘僩僞僀僾 */

ER pascal ini_sio(INT, const B *);
void cdecl ext_sio(void);
ER pascal get_sio(INT, UB *, TMO);
ER pascal put_sio(INT, UB, TMO);
ER pascal ctl_sio(INT, UH);
ER pascal ref_sio(INT, T_SIOS *);
ER pascal fls_sio(INT, TMO);

/* 僔儕傾儖擖弌椡惂屼僽儘僢僋峔憿懱 */

typedef struct t_sio
{
	UB ch;					/* 僠儍僱儖斣崋 */
	UB flag;				/* 惂屼僼儔僌 */

#define	TSF_INIT	0x01	/* 弶婜壔嵪傒 */
#define	TSF_TXREQ	0x02	/* XON/XOFF憲怣梫媮 */
#define	TSF_RXOFF	0x04	/* XOFF庴怣偟偨 */
#define	TSF_TXOFF	0x08	/* XOFF憲怣偟偨 */
#define	TSF_XON		0x10	/* XON/OFF偵傛傞僼儘乕惂屼桳傝 */
#define	TSF_DTR		0x20	/* DTR偵傛傞僼儘乕惂屼桳傝 */
#define	TSF_RTS		0x40	/* RTS偵傛傞僼儘乕惂屼桳傝 */

	UB txchr;				/* 憲怣暥帤 */
	UB rxchr;				/* 庴怣暥帤 */
	UB rxsts;				/* 庴怣僗僥乕僞僗 */
	UB oldchr;				/* 慜夞偺庴怣暥帤 */
	UB oldsts;				/* 慜夞偺庴怣僗僥乕僞僗 */

	UB eot;					/* 廔抂暥帤 */
	UH eotcnt;				/* 廔抂暥帤専弌僇僂儞僞 */

	ID txtid;				/* 憲怣懸偪僞僗僋俬俢 */
	ID rxtid;				/* 庴怣懸偪僞僗僋俬俢 */
	ID tetid;				/* 憲怣廔椆懸偪僞僗僋俬俢 */

	UB cmd[6];				/* SIO僐儅儞僪僶僢僼傽 */
	UB rsv[2];				/* 梊旛 */

	UH txcnt;				/* 憲怣僶僢僼傽撪偺暥帤悢 */
	UH rxcnt;				/* 庴怣僶僢僼傽撪偺暥帤悢 */

	UB *txbuf;				/* 憲怣僶僢僼傽 */
	UB *rxbuf;				/* 庴怣僶僢僼傽乮+BUFSZ:庴怣僗僥乕僞僗僶僢僼傽乯*/
	UB *txputp;				/* 憲怣僶僢僼傽奿擺億僀儞僞 */
	UB *txgetp;				/* 憲怣僶僢僼傽庢摼億僀儞僞 */
	UB *rxputp;				/* 庴怣僶僢僼傽奿擺億僀儞僞 */
	UB *rxgetp;				/* 庴怣僶僢僼傽庢摼億僀儞僞 */
} T_SIO;

#ifdef __cplusplus
};
#endif

#endif /* NOSIO_H */

⌨️ 快捷键说明

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