📄 nosio.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 + -