/* pe7inc.h */ /* Necessary includes for second part */ /* * This file makes the external variables of the main program, pe7mai.c, * visible to the other parts of the program pe7pta.c and pe7ptb.c * * Modification History: * December 4, 1986 Created pe7inc.h * */ #define UTEXT 0 /* Set for 8 bit text strings */ #include /* Standard UNIX definitions */ #include /* Idris system subroutines */ /*#include "sgtty.h" /* Special tty defs */ #include "pe7tty.h" /* Special tty defs */ /* Symbol Definitions */ #define BUFSIZE 80 /* A buffer size for I/O */ #define MAXTRY 8 /* Times to retry a packet */ #define SOH 1 /* Start of header */ #define CR 13 /* ASCII Carriage Return */ #define XON 17 /* ASCII xon character */ #define SP 32 /* ASCII space */ #define DEL 127 /* Delete (rubout) */ #define MAXPACKSIZ 94 /* Maximum packet size */ #define MAXFNAME 50 /* My maximum for filename length */ #define DEFPACKSIZ 80 /* The default packet size */ #define SPOVER 14 /* The closest I may come to the end of the output buffer */ #define MYTIME 10 /* Seconds after which I should be timed out */ #define MYPAD 0 /* Number of padding characters I will need */ #define MYPCHAR 0 /* Padding character I need (NULL) */ #define MYEOL '\r' /* End-Of-Line character I need */ #define MYQUOTE '#' /* Quote character I will use */ #define DEFQBIN 'Y' /* I will do binary quoting */ #define MYQBIN '&' /* Binary quoting character */ #define DEFCHKT '1' /* Default Check sum type */ #define MYCHKT '1' /* Check sum type */ #define DEFREPT '~' /* Repeat character I will use */ #define MYREPT '~' /* Repeat character that I need */ #define TRUE -1 /* Boolean constants */ #define FALSE 0 /* Macro Definitions */ /* * tochar: convert a control character to a printable one by adding a space. * * unchar: undoes tochar. * * ctl: converts between control characters and printable characters by * toggling the control bit (ie. ^A becomes A and A becomes ^A). */ #define tochar(ch) ((ch) + ' ') #define unchar(ch) ((ch) - ' ') #define ctl(ch) ((ch) ^ 64) /* Global Variables */ /* This is the format for the return packet from the other user */ extern int spsiz , /* Maximum send packet size */ timint , /* Timeout for foreign host on sends */ pad ; /* How much padding to send */ extern TEXT padchar , /* Padding character to send */ eol , /* End-Of-Line character to send */ quote , /* Quote character in incoming data */ qbin , /* binary conversion character */ chkt , /* Checksum type '1','2', or '3' */ rept ; /* Repeat character if repeat supported */ extern int size[2] , /* Size of present data in packets */ empty[2] , /* Packets ok to fill if zero */ pknum , /* Current packet buffer index */ n , /* Packet number */ nxo , /* Output packet counter for display */ nxi , /* Nak packet counter for display */ nxs , /* Saved nak counter */ repeat_count , /* Repeat counter for repeated characters */ numtry , /* Times this packet retried */ oldtry , /* Times previous packet retried */ iflg , /* Indicates to turn on the image mode */ image , /* -1 means 8-bit mode (driven by iflg) */ speed , /* baud rate of the link */ fflg , /* Indicates to send finish command */ rflg , /* Indicates receive mode */ sflg , /* Indicates send mode */ xflg , /* Indicates server mode */ gflg , /* Indicates get file mode */ vflg , /* Verbose messages in server mode */ tflg , /* Turn around flag */ pflg , /* What kind of parity are we using? */ spflg , /* This is our start-up parity flag */ debug , /* indicates level of debugging output (0=none) */ filnamcnv , /* -1 means do file name case conversions */ filecount ; /* Number of files left to send */ extern TEXT state , /* Present state of the automaton */ rqbin , /* 8 bit quote character saved in rpar */ sqbin , /* 8 bit quote character used in spar */ rrept , /* Repeat character used in spar */ **filelist , /* List of files to be sent */ *filnam , /* Current file name */ *files[10] , /* Pointers for the server file names */ filename_buffer[MAXPACKSIZ] ; /* Buffer for the server file name */ extern TEXT recpkt[MAXPACKSIZ] , /* Receive packet buffer */ *packet[2] , /* Packet pointers */ packet0[MAXPACKSIZ] , /* Send packet zero buffer */ packet1[MAXPACKSIZ] ; /* Send packet one buffer */ extern FILE ttyfd ; /* File descriptor of tty for I/O, 0 if remote */ extern FIO *fd ; /* pfio pointer */ extern FIO pfio ; /* Buffer structure for the files */ extern struct tty ttymode , /* tty raw mode */ savemode ; /* tty cooked mode */ extern struct { int files; /* Number of files */ int fc; /* Number of characters in files */ int pli; /* Number of packets received */ int plo; /* Number of packets sent */ int cli; /* Number of characters received */ int clo; /* Number of characters sent */ ULONG time; /* Total time for transaction */ } total , file ; /* pe7inc.h End-of-file */