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

📄 zmdm.h

📁 国产CPU-龙芯(loongson)BIOS源代码
💻 H
字号:
/* * zmdm.h * zmodem primitives prototypes and global data * (C) Mattheij Computer Service 1994 */#ifndef _ZMDM_H#define _ZMDM_H#ifdef ZMDM#define EXTERN#else#define EXTERN extern#endif#include <errno.h>#define TRUE  1#define FALSE 0#define ENDOFFRAME 2#define FRAMEOK    1#define TIMEOUT   -1	/* rx routine did not receive a character within timeout */#define INVHDR    -2	/* invalid header received; but within timeout */#define INVDATA   -3	/* invalid data subpacket received */#define ZDLEESC 0x8000	/* one of ZCRCE; ZCRCG; ZCRCQ or ZCRCW was received; ZDLE escaped */#define HDRLEN     5	/* size of a zmodme header */EXTERN int in_fp;	/* input file descriptor */EXTERN int out_fp;	/* output file descriptor */EXTERN unsigned char rxd_header[ZMAXHLEN];	/* last received header */EXTERN int rxd_header_len;			/* last received header size *//* * receiver capability flags * extracted from the ZRINIT frame as received */EXTERN int can_full_duplex;EXTERN int can_overlap_io;EXTERN int can_break;EXTERN int can_fcs_32;EXTERN int escape_all_control_characters;	/* guess */EXTERN int escape_8th_bit;EXTERN int use_variable_headers;		/* use variable length headers *//* * file management options. * only one should be on */EXTERN int management_newer;EXTERN int management_clobber;EXTERN int management_protect;voidfd_init(FILE *);				/* make the io channel raw */voidfd_exit(void);				/* reset io channel to state before zmtx was called */voidtx_hheader(unsigned char * buf,int n);voidtx_bheader(unsigned char * buf,int n);intrx_header(int to);			/* receive any header with timeout in milliseconds */void rx_purge(void);void tx_raw(int c);void tx_esc(int c);void tx(unsigned char c);void tx_flush(void);void tx_nibble(int n);void tx_hex(int h);void tx_hex_header(unsigned char *p);void tx_bin32_header(unsigned char *p);void tx_bin16_header(unsigned char *p);void tx_header(unsigned char *p);void tx_32_data(int sub_frame_type, unsigned char *p, int l);void tx_16_data(int sub_frame_type, unsigned char *p, int l);void tx_data(int sub_frame_type, unsigned char *p, int l);void tx_pos_header(int type, long pos);void tx_znak(void);void tx_zskip(void);void alrm(int a);int rx_poll(void);int rx_raw(int to);int rx(int to);int rx_32_data(unsigned char *p, int *l);int rx_16_data(register unsigned char *p, int *l);int rx_data(unsigned char *p, int *l);int rx_nibble(int to);int rx_hex(int to);void rx_bin16_header(int to);void rx_hex_header(int to);void rx_bin32_header(int to);int rx_header_raw(int to, int errors);int rx_header_and_check(int timeout);void cleanup(void);void show_progress(char *name);int receive_file_data(FILE *, char *, char *, int );void tx_zrinit(void);int receiveFile(FILE *, char *, int , int );#endif

⌨️ 快捷键说明

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