home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_disks
/
200-299
/
ff226.lzh
/
Vlt
/
xprlib
/
library
/
xproto.h
< prev
Wrap
C/C++ Source or Header
|
1989-06-25
|
4KB
|
85 lines
/** xproto.h
*
* Include file for External Protocol Handling
*
**/
/*
* The structure
*/
struct XPR_IO {
char *xpr_filename; /* File name(s) */
long (*xpr_fopen)(); /* Open file */
long (*xpr_fclose)(); /* Close file */
long (*xpr_fread)(); /* Get char from file */
long (*xpr_fwrite)(); /* Put string to file */
long (*xpr_sread)(); /* Get char from serial */
long (*xpr_swrite)(); /* Put string to serial */
long (*xpr_sflush)(); /* Flush serial input buffer*/
long (*xpr_update)(); /* Print stuff */
long (*xpr_chkabort)(); /* Check for abort */
long (*xpr_chkmisc)(); /* Check misc. stuff */
long (*xpr_gets)(); /* Get string interactively */
long (*xpr_setserial)(); /* Set and Get serial info */
long (*xpr_ffirst)(); /* Find first file name */
long (*xpr_fnext)(); /* Find next file name */
long (*xpr_finfo)(); /* Return file info */
long *xpr_reserved1; /* Reserved */
long *xpr_reserved2; /* Reserved */
long *xpr_data; /* Initialized by Setup. */
};
/*
* The functions
*/
extern long XProtocolSend(), XProtocolReceive(),
XProtocolSetup(), XProtocolCleanup();
/*
* The update structure
*/
struct XPR_UPDATE { long xpru_updatemask;
char *xpru_protocol;
char *xpru_filename;
long xpru_filesize;
char *xpru_msg;
char *xpru_errormsg;
long xpru_blocks;
long xpru_blocksize;
long xpru_bytes;
long xpru_errors;
long xpru_timeouts;
long xpru_packettype;
long xpru_packetdelay;
long xpru_chardelay;
char *xpru_blockcheck;
char *xpru_expecttime;
char *xpru_elapsedtime;
long xpru_datarate;
long xpru_reserved1;
long xpru_reserved2;
long xpru_reserved3;
long xpru_reserved4;
long xpru_reserved5;
};
/*
* The possible bit values for the xpru_updatemask are:
*/
#define XPRU_PROTOCOL 0x00000001L
#define XPRU_FILENAME 0x00000002L
#define XPRU_FILESIZE 0x00000004L
#define XPRU_MSG 0x00000008L
#define XPRU_ERRORMSG 0x00000010L
#define XPRU_BLOCKS 0x00000020L
#define XPRU_BLOCKSIZE 0x00000040L
#define XPRU_BYTES 0x00000080L
#define XPRU_ERRORS 0x00000100L
#define XPRU_TIMEOUTS 0x00000200L
#define XPRU_PACKETTYPE 0x00000400L
#define XPRU_PACKETDELAY 0x00000800L
#define XPRU_CHARDELAY 0x00001000L
#define XPRU_BLOCKCHECK 0x00002000L
#define XPRU_EXPECTTIME 0x00004000L
#define XPRU_ELAPSEDTIME 0x00008000L
#define XPRU_DATARATE 0x00010000L