📄 osenv.h
字号:
#ifndef __OS_ENV__
#define __OS_ENV__
/* ******************************************************************* */
/* constant definition */
/* ******************************************************************* */
#define KS_CONSTANT const
#define KS_FAR
#define tc_memset(A,B,C) memset((A), (B), (C))
#define tc_movebytes(A,B,C) memcpy((A), (B), (C))
#define tc_comparen(A,B,C) (memcmp((A), (B), (C))==0)
#define tc_memchr(str,chr,len) memchr(str, chr, len)
typedef volatile unsigned char * IOADDRESS; /* Memory mapped IO */
#define ARGSUSED_PVOID(x) argsused_pvoid((PFVOID)x);
#define ARGSUSED_INT(x) argsused_int((int)x);
/* ******************************************************************* */
/* ******************************************************************** */
/* I/O MACROS */
/* ******************************************************************* */
/* ******************************************************************** */
/* Rep in and rep out routines. The code is in osenv.c, only needed
by device drivers. */
void insw(IOADDRESS ioaddr, unsigned short KS_FAR * dst, int n);
void insb(IOADDRESS ioaddr, unsigned char KS_FAR * dst, int n);
void outsw(IOADDRESS ioaddr, unsigned short KS_FAR * src, int n);
void outsb(IOADDRESS ioaddr, KS_CONSTANT unsigned char KS_FAR * src, int n);
#define OUTBYTE(ADD, VAL) (*(volatile unsigned char *) (ADD)) = (unsigned char)(VAL)
#define OUTWORD(ADD, VAL) (*(volatile unsigned short *)(ADD)) = (unsigned short)(VAL)
#define INBYTE(ADD) (*(volatile unsigned char *) (ADD))
#define INWORD(ADD) (*(volatile unsigned short *)(ADD))
#endif /* __OS_ENV__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -