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

📄 x00api.h

📁 国外网站上的一些精典的C程序
💻 H
字号:
/* *  X00API.H - X00 FOSSIL driver HLLAPI * *   Created by R.F. Pels. *   modified by Bob Stout *   Placed in the public domain by R.F. Pels. */#ifndef __X00API_H                        /*  Prevent double inclusion  */#define __X00API_H/*  FOSSIL specifics */#define X00_VECTOR          0x14#define X00_IDOFFSET        6#if defined(__TURBOC__) || defined(__POWERC) #define _far far#endif/*  FOSSIL function request codes */#define SET_BAUDRATE        0x0000#define TX_CHAR             0x0100#define RX_CHAR             0x0200#define STATUS              0x0300#define INITIALIZE          0x0400#define DEINITIALIZE        0x0500#define RAISE_DTR           0x0601#define LOWER_DTR           0x0600#define GET_SYS_INFO        0x0700#define FLUSH_OUTPUT        0x0800#define PURGE_OUTPUT        0x0900#define PURGE_INPUT         0x0A00#define TX_CHAR_NOWAIT      0x0B00#define PEEK_AHEAD_INPUT    0x0C00#define PEEK_AHEAD_KBD      0x0D00#define READ_KBD            0x0E00#define FLOW_CONTROL        0x0F00#define CTLC_CTLK_CHECK     0x1000#define SET_CUP             0x1100#define GET_CUP             0x1200#define WRITE_ANSI_CHAR     0x1300#define ENABLE_WATCHDOG     0x1401#define DISABLE_WATCHDOG    0x1400#define WRITE_BIOS_CHAR     0x1500#define INSERT_TICK_FUNC    0x1601#define DELETE_TICK_FUNC    0x1600#define BOOT_MACHINE        0x1700#define READ_BLOCK          0x1800#define WRITE_BLOCK         0x1900#define START_BREAK_SIGNAL  0x1A01#define STOP_BREAK_SIGNAL   0x1A00#define GET_DRIVER_INFO     0x1B00#define INSTALL_APPENDAGE   0x7e00#define REMOVE_APPENDAGE    0x7f00/* port numbers and variable type of portnumber in calls */#define PORTCOM1            0#define PORTCOM2            1#define PORTCOM3            2#define PORTCOM4            3#define PORTCOM5            4#define PORTCOM6            5#define PORTCOM7            6#define PORTCOM8            7#define PORTSPECIAL         0x00fftypedef unsigned int PORT;/* defines components of baud settings call */#define BAUD300             0x40#define BAUD600             0x60#define BAUD1200            0x80#define BAUD2400            0xa0#define BAUD4800            0xc0#define BAUD9600            0xe0#define BAUD19200           0x00#define BAUD38400           0x20#define PARITYNONE          0x00#define PARITYODD           0x08#define PARITYNONEALT       0x10#define PARITYEVEN          0x18#define STOP1BIT            0x00#define STOP2BIT            0x04#define WORD5BIT            0x00#define WORD6BIT            0x01#define WORD7BIT            0x02#define WORD8BIT            0x03#define FIDOSETTING         PARITYNONE | STOP1BIT | WORD8BIT#define OPUSSETTING         PARITYNONE | STOP1BIT | WORD8BIT#define SEADOGSETTING       PARITYNONE | STOP1BIT | WORD8BIT/* Error numbers */#define X00_OK              0#define X00_NOT_HERE        100#define X00_CHAR_NOT_SENT   101#define X00_NO_INPUT        0xffff#define X00_NO_KEY          0xffff#define X00_INS_TICK        104#define X00_DEL_TICK        105#define X00_INS_APP         106#define X00_REM_APP         107#define X00_DTR_HIGH        108#define X00_DTR_LOW         109/* FOSSIL initcall result type */#define X00_PRESENT         0x1954typedef struct {        unsigned int result;        unsigned char max_function;        unsigned char revision;        } FOSSILINIT;/* FOSSIL status return type: all fields are 1 if condition exists */typedef union {        struct STATUSBITS {            unsigned                   : 3;            unsigned alwayshigh        : 1;            unsigned                   : 3;            unsigned carrier_detect    : 1;            unsigned chars_in_input    : 1;            unsigned input_overrun     : 1;            unsigned                   : 3;            unsigned output_not_full   : 1;            unsigned output_empty      : 1;            unsigned                   : 1;            } statusbits;      unsigned int statusword;      } FOSSILSTATUS;/* FOSSIL info type */typedef struct {        unsigned int  size;        unsigned char version;        unsigned char revision;        unsigned int  ofs_fossil_id;        unsigned int  seg_fossil_id;        unsigned int  input_size;        unsigned int  input_avail;        unsigned int  output_size;        unsigned int  output_avail;        unsigned char screen_width;        unsigned char screen_height;        unsigned char baud_rate_mask;        } FOSSILINFO;/* FOSSIL system info type */typedef struct {        unsigned char tick_number;        unsigned char ticks_per_second;        unsigned int  approx_ms_per_tick;        } FOSSILSYSINFO;/* FOSSIL flow control type */typedef union {        struct FLOWBITS {            unsigned  xonxoff         : 1;            unsigned  ctsrts          : 1;            unsigned  remote_xonxoff  : 1;            unsigned                  : 5;            } flowbits;      unsigned char flowword;      } FOSSILFLOWCTRL;/* FOSSIL checks control type */#define X00_CTLCK           0x0001#define X00_NO_CTLCK        0x0000typedef union {        struct CHECKBITS {            unsigned  ctlc_ctlk         : 1;            unsigned  stop_transmitter  : 1;            unsigned                    : 6;            } checkbits;      unsigned char checkword;      } FOSSILCTLCCTLK;/* Macros to use with x00_boot_machine() */#define COLDBOOT        0#define WARMBOOT        1/* Macros to use with x00_read_kbd() */#define ISFNKEY(x)      (((x) & 0x00FF) == 0)#define FNKEYCODE(x)    ((x) >> 8)#if defined(__cplusplus) && __cplusplus extern "C" {#endifunsigned int  x00_detect(void);FOSSILSTATUS  x00_set(unsigned char set, PORT port);FOSSILSTATUS  x00_tx_char(unsigned char c, PORT port);unsigned char x00_rx_char(PORT port);FOSSILSTATUS  x00_status(PORT port);FOSSILINIT    x00_init(PORT port, unsigned char _far *ctlc_flagbyte);void          x00_deinit(PORT port);unsigned int  x00_raise_dtr(PORT port);unsigned int  x00_lower_dtr(PORT port);FOSSILSYSINFO x00_sysinfo(void);void          x00_flush_output(PORT port);void          x00_purge_output(PORT port);void          x00_purge_input(PORT port);unsigned int  x00_tx_char_nowait(unsigned char c, PORT port);unsigned int  x00_peek_ahead_input(PORT port);unsigned int  x00_peek_ahead_kbd(void);unsigned int  x00_read_kbd(void);void          x00_flow_control(FOSSILFLOWCTRL f, PORT port);unsigned int  x00_ctlc_ctlk_check(FOSSILCTLCCTLK c, PORT port);void          x00_set_cup(unsigned char row, unsigned char col);void          x00_get_cup(unsigned char *row, unsigned char *col);void          x00_write_ANSI_char(unsigned char c);void          x00_enable_watchdog(PORT port);void          x00_disable_watchdog(PORT port);void          x00_write_BIOS_char(unsigned char c);unsigned int  x00_insert_tick_func(void (_far *tickfunc)());unsigned int  x00_delete_tick_func(void (_far *tickfunc)());void          x00_boot_machine(unsigned int boottype);unsigned int  x00_read_block(unsigned int count, void _far *buf, PORT port);unsigned int  x00_write_block(unsigned int count, void _far *buf,PORT port);void          x00_start_break_signal(PORT port);void          x00_stop_break_signal(PORT port);unsigned int  x00_get_driverinfo(void _far *buf, PORT port);unsigned int  x00_install_appendage(unsigned char appcode,                  void (_far *appfunc)());unsigned int  x00_remove_appendage(unsigned char appcode,                  void (_far *appfunc)());#if defined(__cplusplus) && __cplusplus }#endif#endif /* __X00API_H */

⌨️ 快捷键说明

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