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

  1. /*
  2.  * astinc.h ATARI ST kermit includes, defines, and global variable declarations
  3.  */
  4.  
  5. #define VERSION 1      /* ATARI ST Version number  */
  6. #define RELEASE 2      /* Update release           */
  7. #define VERDATE "190686"
  8.  
  9. #ifndef EXTERN
  10. #define EXTERN extern  /* global variables are extern in all but one module */
  11. #endif
  12.  
  13.  
  14.  
  15.  
  16.  
  17. /* Symbol Definitions */
  18.  
  19. #define MAXPACKSIZ  94       /* Maximum packet size */
  20. #define FILNAMLEN   80       /* max length of filename */
  21. #define PFILNAMLEN  13       /* length og filename w/o path spec */
  22. #define SOH          1       /* Start of header */
  23. #define ETX          3       /* ^C */
  24. #define LF          10       /* ASCII line feed */
  25. #define CR          13       /* ASCII Carriage Return */
  26. #define SP          32       /* ASCII space */
  27. #define DEL        127       /* Delete (rubout) */
  28. #define DC1         17       /* control-Q */
  29.  
  30. #define MYPCKSTART  SOH      /* packet start character */
  31. #define MAXTRY      10       /* Times to retry a packet */
  32. #define MYQUOTE    '#'       /* Quote character I will use */
  33. #define MYPAD        0       /* Number of padding characters I will need */
  34. #define MYPCHAR      0       /* Padding character I need (NULL) */
  35. #define MYTURNCHAR  DC1      /* Usual turn around character */
  36. #define MYEOL        CR      /* End-Of-Line character I need */
  37. #define MYEBQ       'Y'      /* value for 8 bit prefix field */
  38. #define MYNOEBQ     'N'      /* for no quoting! */
  39.  
  40. #define MYTIME      10       /* Seconds after which I should be timed out */
  41. #define YOURTIME    15       /* time after I will time out */
  42. #define MAXTIM      60       /* Maximum timeout interval */
  43. #define MINTIM       2       /* Minumum timeout interval */
  44.  
  45. #define KER_INI      "KERMIT.OPT" /* init file name */
  46. #define KER_LOG      "KERMIT.LOG" /* log file name */
  47. #define KER_DEB      "KERMIT.DEB" /* debug file name */
  48. #define KER_RSC      "KERMIT.RSC" /* resource file */
  49.  
  50.  
  51. /* Macro Definitions */
  52.  
  53. /*
  54.  * tochar: converts a control character to a printable one by adding a space.
  55.  *
  56.  * unchar: undoes tochar.
  57.  *
  58.  * ctl:      converts between control characters and printable characters by
  59.  *      toggling the control bit (ie. ~A becomes A and A becomes ~A).
  60.  */
  61. #define tochar(ch)    ((ch) + ' ')
  62. #define unchar(ch)    ((ch) - ' ')
  63. #define ctl(ch)       ((ch) ^ 64 )
  64.  
  65.  
  66. /* Parameters */
  67.  
  68. EXTERN int
  69.    rpsiz,            /* Maximum receive packet size */
  70.    spsiz,            /* Maximum send packet size */
  71.    spad,             /* How much padding to send */
  72.    rtimint,          /* Timeout for foreign host on sends */
  73.    stimint,          /* Timeout for foreign host when waiting */
  74.    dotimout,         /* only if true do timeout! */
  75.    maxtry,           /* retries in case of errors (only rec. par.) */
  76.    ibmmode,          /* do turn around character handling */
  77.    padding,          /* do padding */
  78.    debug,            /* whether do debugging */
  79.    deblevel,         /* level of debugging */
  80.    translog,         /* transaction logging */
  81.    image,            /* eight bit transfer */
  82.    filnamwarn;       /* generate unique filename if already present */
  83.  
  84. EXTERN int           /* could be char, but makes it easier in ASTOPT.C */
  85.    rpcks,            /* packet start character I wait for*/
  86.    spcks,            /* packet start character I will use */
  87.    spadc,            /* padding character I'll send */
  88.    reol,             /* EOL I expect */
  89.    seol,             /* EOL I send */
  90.    rquote,           /* quote character I expect */
  91.    squote,           /* quote char I'll send */
  92.    rturnchar;        /* handshake char I'll wait for */
  93.  
  94. /* Global Variables */
  95.  
  96. EXTERN int
  97.    size,             /* Size of present data */
  98.    n,                /* Packet number */
  99.    n_total,          /* Total number of packets sent  */
  100.    numtry,           /* Times this packet retried */
  101.    oldtry,           /* Times previous packet retried */
  102.    filecnt,          /* number of files transfered */
  103.    bps,              /* bytes per second so far */
  104.    nakcnt,           /* NAK receive counter */
  105.    timcnt,           /* time out errors */
  106.    getfile,          /* flag for get function */
  107.    ebq;              /* eight bit quote char */
  108.  
  109. EXTERN long int
  110.    starttrans,       /* 'universal time' of transfer start */
  111.    startpckt;        /* 'universal time' of packet begin */
  112.  
  113.  
  114. EXTERN long
  115.    bytecnt;          /* bytes transfered since start of transfer */
  116.  
  117.  
  118. EXTERN char
  119.    state,              /* Present state of the automaton */
  120.    recpkt[MAXPACKSIZ], /* Receive packet buffer */
  121.    packet[MAXPACKSIZ]; /* Packet buffer */
  122.  
  123. EXTERN FILE
  124.    *fp,              /* File pointer for current disk file */
  125.    *deb,             /* Debug file */
  126.    *log;             /* File pointer for Logfile */
  127.  
  128. EXTERN char
  129.    kpathname[FILNAMLEN],    /* kermit's pathname */
  130.    gpathname[FILNAMLEN],    /* current selected generic pathname */
  131.    filnam[FILNAMLEN],       /* current file name */
  132.    filnam1[FILNAMLEN];      /* converted filename */
  133.