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

📄 fget.h

📁 编译命令 cc -o fget fget.c -lcurses 此程序适用于SCO UNIX主机系统
💻 H
字号:
#define TRUE    1#define FALSE   0#define _COM_CHR8     0X03#define _COM_STOP1    0X00#define _COM_NOPARITY 0X00#define _COM_2400     0Xa0#define COM_PARAMS (_COM_CHR8|_COM_STOP1|_COM_NOPARITY|_COM_2400)#define RXQSIZE 200#define TXQSIZE 200#define P8259_0 0x20  /*int comtrol resister */#define P8259_1 0x21  /*int mask resister */#define END_OF_INT 0X20 /* NON_specific EOI */#define MCROFF  0  /* MODEM CONTROL REGISTER*/#define IEROFF  0#define THREOFF 0Xfd/* address of bios data area at 400h */#define BIOS_DATA ((int far *) (0x400000L))/* interrupt identification number */#define TXREGEMPTY 2#define RXDATAREADY 4/* The address of the comm port is in the short inter 'comport'.*/#define IER (comport +1)#define IIR (comport +2)#define LCR (comport +3)#define MCR (comport +4)#define LSR (comport +5)#define MSR (comport +6)/* codes to enable individual interrupts */#define RDAINT  1#define THREINT 2#define RLSINT  4#define MSINT   8#define bit0(i) (i&0x0001)#define turnon_int(i,j) if(((j=inp(IER))&i)==0) outp(IER,(j|i))typedef struct QTYPE {     int count;     int front;     int rear;     int maxsize;     char *data;     }  QTYPE;static char rxbuf[RXQSIZE], txbuf[TXQSIZE];static QTYPE rcvq={0,-1,-1,RXQSIZE,rxbuf},	     trmq={0,-1,-1,TXQSIZE,txbuf};static QTYPE *txq=&trmq, *rxq=&rcvq;  /*缓冲区 */static short int_number=12,       comport=0,       int_enable_mask=0xef,       int_disable_mask=0x10;#ifndef _MODEM_H#define _MODEM_H#define DATA_OFF	0	/* offset of data register */#define LOW_BAUD	0	/* Offset of baud rate divisor - low byte */#define HI_BAUD		1	/* Offset of baud rate divisor - high byte */#define INT_ENABLE_OFF	1	/* Offset of Interrupt enable register */#define INT_ID_OFF	2	/* Offset of Interrupt Identification */#define LINE_CTRL_OFF	3	/* Line Control Register */#define STATUS_OFF	5	/* offset of line status register */#define MODEM_CTRL_OFF	4	/* offset of modem contrl register */#define MODEM_STAT_OFF	6	/* offset of modem status register */#define RCV_MASK	0x01#define XMIT_MASK	0x20/* Ticks per second */#define TICKSPERSEC	18.2/* Numeric Result Codes from modem */#define M_OK		0#define M_CONN3		1#define M_RING		2#define M_NOCARRIER	3#define M_ERROR		4#define M_CONN12	5#define M_NOTONE	6#define M_BUSY		7#define M_NOANSWER	8#define M_RESERVED	9#define M_CONN24	10/* User-defined constants */#define M_NORING	11#define M_BADMSG	12#define M_ONLINE	13#define M_USRCAN	14#define TIMEOUT		-1#define OPENFAIL	-1#define CREATFAIL	-2#define DISCONN		0#define SUCCEED		1#define ON		1#define OFF		0#define SOH		(char)0x01		/* Start Of Heading */#define EOT		(char)0x04		/* End Of Transmission */#define ACK		(char)0x06		/* Acknowledge */#define NAK		(char)0x15		/* Negative Acknowledge */#define SUB             (char)0x1a#define CRC             'C'#define MAXREPLY	64/* Masks used to set S-registers */#define MASK_S0		0x00000001L#define MASK_S1		(MASK_S0 << 1)#define MASK_S2		(MASK_S0 << 2)#define MASK_S3		(MASK_S0 << 3)#define MASK_S4		(MASK_S0 << 4)#define MASK_S5		(MASK_S0 << 5)#define MASK_S6		(MASK_S0 << 6)#define MASK_S7		(MASK_S0 << 7)#define MASK_S8		(MASK_S0 << 8)#define MASK_S9		(MASK_S0 << 9)#define MASK_S10	(MASK_S0 << 10)#define MASK_S11	(MASK_S0 << 11)#define MASK_S12	(MASK_S0 << 12)#define MASK_S13	(MASK_S0 << 13)#define MASK_S14	(MASK_S0 << 14)#define MASK_S15	(MASK_S0 << 15)#define MASK_S16	(MASK_S0 << 16)#define MASK_S17	(MASK_S0 << 17)#define MASK_S18	(MASK_S0 << 18)#define MASK_S19	(MASK_S0 << 19)#define MASK_S20	(MASK_S0 << 20)#define MASK_S21	(MASK_S0 << 21)#define MASK_S22	(MASK_S0 << 22)#define MASK_S23	(MASK_S0 << 23)#define MASK_S24	(MASK_S0 << 24)#define MASK_S25	(MASK_S0 << 25)#define MASK_S26	(MASK_S0 << 26)#define MASK_S27	(MASK_S0 << 27)#define M_STAT(port)	readbyte(port + MODEM_STAT_OFF)#define DATALEN		128typedef unsigned char	BYTE;typedef struct _packetRec {	BYTE	soh;			/* Start Of Heading */	BYTE	seq;			/* Sequence# */	BYTE	nseq;			/* Negative-sequence# = ~seq */	BYTE	buffer[DATALEN];	/* buffer */	BYTE	bc[2];			/* block checksum(CRC-16) */} PacketRec;#define PACKETSIZE	sizeof(PacketRec)#define MAXRETRY	5#define CRC16		0x8005#define CRC_CCITT	0x1021/* modem function prototypes */extern int	dial();extern int	hangup();extern int	escseq();extern int	m_wait4reply();extern void	m_cmd();extern int	sendfile();extern int	rcvfile();extern void	delaytime();#endif		/* _MODEM_H */

⌨️ 快捷键说明

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