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

📄 nosio.c

📁 NORTi3 is a realtime multitasking operating system conforming to the micro-ITRON 3.0 specification.
💻 C
字号:
/******************************************************************************
* 俶俷俼俿倝懳墳 僔儖傾儖擖弌椡娭悢                                           *
*                                                                             *
*  File name : nosio.c                                                        *
*  Copyright (c) Miyazaki System Planning Office. 1993-1997                   *
*                                                                             *
*  Compile : cl /c /Ox /DCHS=? nosio.c                   (MS-C/C++)           *
*            tcc -c -DCHS=? nosio.c                      (TC/C++)             *
*            bcc -c -O2 -DCHS=? nosio.c                  (BC/C++)             *
*            lcc80 -c -r -z80 -DCHS=? nosio.c            (LSIC-80)            *
*            iccz80 -v0 -ml -s9 -P -DCHS=? nosio.c       (ICC Z80)            *
*            icch83 -v? -mL -1i -s9 -P -DCHS=? nosio.c   (ICC H8/300H)        *
*            CHS=? : 僠儍僱儖悢乮1乣8乯                                       *
*                                                                             *
* 93-04-13 嶌惉                                                               *
* 93-05-16 Ver1.13兝                                                          *
* 94-01-05 Ver1.14                                                            *
* 95-06-15 Ver1.20                                                            *
* 95-08-14 #include <stddef.h> 晄梫偺偨傔嶍彍, #if (CHS>?) 傪僱僗僩偝偣側偄   *
*          T_SIOFP 偺掕媊傪 nosio.h 偐傜堏偡                                  *
* 96-05-29 Ver1.30 SIOFP 撪偵 { } 捛壛                                        *
* 97-01-30 Ver1.40 T_SIOFP SIOFP[CHS] -> const T_SIOFP SIOFP[CHS]             *
* 98-09-06 V3 傪掕媊偟偰僐儞僷僀儖偱 NORTi3 懳墳                              *
******************************************************************************/


#include "norti3.h"
#include "nosio.h"

/* 張棟宯偺嵎堎偺挷惍 */

#ifdef	M_I86
#pragma check_stack(off)		/* MS-C 僗僞僢僋僠僃僢僋側偟 */
#endif

/* 僠儍僱儖悢偺掕媊 */
/*** modify by dsw ***/
#ifndef	CHS
#define	CHS			1

#endif

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

T_SIO SIO[CHS];

/* 僔儕傾儖擖弌椡娭悢 */

ER cdecl ini_sio0(const B *);
void cdecl ext_sio0(void);
ER cdecl get_sio0(UB *, TMO);
ER cdecl put_sio0(UB, TMO);
ER cdecl ctl_sio0(UH);
ER cdecl ref_sio0(T_SIOS *);
ER cdecl fls_sio0(TMO);
#ifdef QBOX_and_Phone
ER cdecl ini_sio1(const B *);
void cdecl ext_sio1(void);
ER cdecl get_sio1(UB *, TMO);
ER cdecl put_sio1(UB, TMO);
ER cdecl ctl_sio1(UH);
ER cdecl ref_sio1(T_SIOS *);
ER cdecl fls_sio1(TMO);
#endif

#if (CHS>1)
ER cdecl ini_sio1(const B *);
void cdecl ext_sio1(void);
ER cdecl get_sio1(UB *, TMO);
ER cdecl put_sio1(UB, TMO);
ER cdecl ctl_sio1(UH);
ER cdecl ref_sio1(T_SIOS *);
ER cdecl fls_sio1(TMO);
#endif

#if (CHS>2)
ER cdecl ini_sio2(const B *);
void cdecl ext_sio2(void);
ER cdecl get_sio2(UB *, TMO);
ER cdecl put_sio2(UB, TMO);
ER cdecl ctl_sio2(UH);
ER cdecl ref_sio2(T_SIOS *);
ER cdecl fls_sio2(TMO);
#endif

#if (CHS>3)
ER cdecl ini_sio3(const B *);
void cdecl ext_sio3(void);
ER cdecl get_sio3(UB *, TMO);
ER cdecl put_sio3(UB, TMO);
ER cdecl ctl_sio3(UH);
ER cdecl ref_sio3(T_SIOS *);
ER cdecl fls_sio3(TMO);
#endif

#if (CHS>4)
ER cdecl ini_sio4(const B *);
void cdecl ext_sio4(void);
ER cdecl get_sio4(UB *, TMO);
ER cdecl put_sio4(UB, TMO);
ER cdecl ctl_sio4(UH);
ER cdecl ref_sio4(T_SIOS *);
ER cdecl fls_sio4(TMO);
#endif

#if (CHS>5)
ER cdecl ini_sio5(const B *);
void cdecl ext_sio5(void);
ER cdecl get_sio5(UB *, TMO);
ER cdecl put_sio5(UB, TMO);
ER cdecl ctl_sio5(UH);
ER cdecl ref_sio5(T_SIOS *);
ER cdecl fls_sio5(TMO);
#endif

#if (CHS>6)
ER cdecl ini_sio6(const B *);
void cdecl ext_sio6(void);
ER cdecl get_sio6(UB *, TMO);
ER cdecl put_sio6(UB, TMO);
ER cdecl ctl_sio6(UH);
ER cdecl ref_sio6(T_SIOS *);
ER cdecl fls_sio6(TMO);
#endif

#if (CHS>7)
ER cdecl ini_sio7(const B *);
void cdecl ext_sio7(void);
ER cdecl get_sio7(UB *, TMO);
ER cdecl put_sio7(UB, TMO);
ER cdecl ctl_sio7(UH);
ER cdecl ref_sio7(T_SIOS *);
ER cdecl fls_sio7(TMO);
#endif

#if (CHS>8)
#error	CHS is out of range!
#endif

/* 僔儕傾儖擖弌椡娭悢掕媊僥乕僽儖 */

typedef struct t_siofp
{
	ER (cdecl *ini_sio)(const B *);	/* 僔儕傾儖擖弌椡弶婜壔娭悢 */
	void (cdecl *ext_sio)(void);	/* 僔儕傾儖擖弌椡廔椆娭悢 */
	ER (cdecl *get_sio)(UB *, TMO);	/* 僔儕傾儖侾暥帤擖椡娭悢 */
	ER (cdecl *put_sio)(UB, TMO);	/* 僔儕傾儖侾暥帤弌椡娭悢 */
	ER (cdecl *ctl_sio)(UH);		/* 僔儕傾儖擖弌椡惂屼娭悢 */
	ER (cdecl *ref_sio)(T_SIOS *);	/* 僔儕傾儖擖弌椡忬懺嶲徠娭悢 */
	ER (cdecl *fls_sio)(TMO);		/* 僔儕傾儖憲怣僶僢僼傽

⌨️ 快捷键说明

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