home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / perkinelmeridris / pe7inc.h < prev    next >
C/C++ Source or Header  |  2020-01-01  |  5KB  |  140 lines

  1. /* pe7inc.h */
  2. /* Necessary includes for second part */
  3. /*
  4.  * This file makes the external variables of the main program, pe7mai.c,
  5.  * visible to the other parts of the program pe7pta.c and pe7ptb.c
  6.  *
  7.  *    Modification History:
  8.  *  December 4, 1986      Created pe7inc.h
  9.  *
  10.  */
  11. #define UTEXT    0        /* Set for 8 bit text strings */
  12.  
  13. #include <std.h>        /* Standard UNIX definitions */
  14. #include <sys.h>        /* Idris system subroutines */
  15. /*#include "sgtty.h"        /* Special tty defs */
  16. #include "pe7tty.h"        /* Special tty defs */
  17.  
  18. /* Symbol Definitions */
  19.  
  20. #define BUFSIZE 80        /* A buffer size for I/O */
  21. #define MAXTRY    8        /* Times to retry a packet */
  22. #define SOH        1        /* Start of header */
  23. #define CR        13        /* ASCII Carriage Return */
  24. #define XON        17        /* ASCII xon character */
  25. #define SP        32        /* ASCII space */
  26. #define DEL        127        /* Delete (rubout) */
  27.  
  28. #define MAXPACKSIZ    94    /* Maximum packet size */
  29. #define MAXFNAME 50 /* My maximum for filename length */
  30. #define DEFPACKSIZ    80    /* The default packet size */
  31. #define SPOVER    14        /* The closest I may come to the end of the output
  32.                             buffer */
  33. #define MYTIME    10        /* Seconds after which I should be timed out */
  34. #define MYPAD    0        /* Number of padding characters I will need */
  35. #define MYPCHAR 0        /* Padding character I need (NULL) */
  36. #define MYEOL    '\r'    /* End-Of-Line character I need */
  37. #define MYQUOTE '#'        /* Quote character I will use */
  38. #define DEFQBIN 'Y'        /* I will do binary quoting */
  39. #define MYQBIN    '&'        /* Binary quoting character */
  40. #define DEFCHKT    '1'        /* Default Check sum type */
  41. #define MYCHKT    '1'        /* Check sum type */
  42. #define DEFREPT '~'        /* Repeat character I will use */
  43. #define MYREPT    '~'        /* Repeat character that I need */
  44. #define TRUE    -1        /* Boolean constants */
  45. #define FALSE    0
  46.  
  47.  
  48. /* Macro Definitions */
  49.  
  50. /*
  51.  * tochar: convert a control character to a printable one by adding a space.
  52.  *
  53.  * unchar: undoes tochar.
  54.  *
  55.  * ctl:        converts between control characters and printable characters by
  56.  *            toggling the control bit (ie. ^A becomes A and A becomes ^A).
  57.  */
  58.  
  59. #define tochar(ch)    ((ch) + ' ')
  60. #define unchar(ch)    ((ch) - ' ')
  61. #define ctl(ch)        ((ch) ^ 64)
  62.  
  63. /* Global Variables */
  64.  
  65. /* This is the format for the return packet from the other user */
  66. extern int
  67.     spsiz ,    /* Maximum send packet size */
  68.     timint ,    /* Timeout for foreign host on sends */
  69.     pad ;            /* How much padding to send */
  70. extern TEXT
  71.     padchar ,        /* Padding character to send */
  72.     eol ,        /* End-Of-Line character to send */
  73.     quote ,    /* Quote character in incoming data */
  74.     qbin ,            /* binary conversion character */
  75.     chkt ,        /* Checksum type '1','2', or '3' */
  76.     rept ;            /* Repeat character if repeat supported */
  77.  
  78. extern int
  79.     size[2] ,        /* Size of present data in packets */
  80.     empty[2] ,        /* Packets ok to fill if zero */
  81.     pknum ,            /* Current packet buffer index */
  82.     n ,                /* Packet number */
  83.     nxo ,            /* Output packet counter for display */
  84.     nxi ,            /* Nak packet counter for display */
  85.     nxs ,            /* Saved nak counter */
  86.     repeat_count ,    /* Repeat counter for repeated characters */
  87.     numtry ,            /* Times this packet retried */
  88.     oldtry ,            /* Times previous packet retried */
  89.     iflg ,            /* Indicates to turn on the image mode */
  90.     image ,            /* -1 means 8-bit mode (driven by iflg) */
  91.     speed ,            /* baud rate of the link */
  92.     fflg ,            /* Indicates to send finish command */
  93.     rflg ,            /* Indicates receive mode */
  94.     sflg ,            /* Indicates send mode */
  95.     xflg ,            /* Indicates server mode */
  96.     gflg ,            /* Indicates get file mode */
  97.     vflg ,            /* Verbose messages in server mode */
  98.     tflg ,            /* Turn around flag */
  99.     pflg ,            /* What kind of parity are we using? */
  100.     spflg ,            /* This is our start-up parity flag */
  101.     debug ,            /* indicates level of debugging output (0=none) */
  102.     filnamcnv ,        /* -1 means do file name case conversions */
  103.     filecount ;        /* Number of files left to send */
  104.  
  105. extern TEXT
  106.     state ,            /* Present state of the automaton */
  107.     rqbin ,            /* 8 bit quote character saved in rpar */
  108.     sqbin ,            /* 8 bit quote character used in spar */
  109.     rrept ,            /* Repeat character used in spar */
  110.     **filelist ,        /* List of files to be sent */
  111.     *filnam ,        /* Current file name */
  112.     *files[10] ,        /* Pointers for the server file names */
  113.     filename_buffer[MAXPACKSIZ] ; /* Buffer for the server file name */
  114. extern TEXT
  115.     recpkt[MAXPACKSIZ] , /* Receive packet buffer */
  116.     *packet[2] ,        /* Packet pointers */
  117.     packet0[MAXPACKSIZ] , /* Send packet zero buffer */
  118.     packet1[MAXPACKSIZ] ; /* Send packet one buffer */
  119.  
  120. extern FILE    ttyfd ;        /* File descriptor of tty for I/O, 0 if remote */
  121.  
  122. extern FIO *fd ;            /* pfio pointer */
  123. extern FIO    pfio ;            /* Buffer structure for the files */
  124.  
  125. extern struct tty
  126.         ttymode ,    /* tty raw mode */
  127.         savemode ;    /* tty cooked mode */
  128.  
  129. extern struct {
  130.     int files;            /* Number of files */
  131.     int fc;                /* Number of characters in files */
  132.     int pli;            /* Number of packets received */
  133.     int plo;            /* Number of packets sent */
  134.     int cli;            /* Number of characters received */
  135.     int clo;            /* Number of characters sent */
  136.     ULONG time;            /* Total time for transaction */
  137.   } total , file ;
  138.  
  139. /* pe7inc.h End-of-file */
  140.