home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
archives
/
honeywellgcosa.tar.gz
/
honeywellgcosa.tar
/
hd6ker.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-06-03
|
12KB
|
302 lines
/************************************************************************
*
* HD6KER.H Global definitions and function
* prototypes for both HD6KER.C and HD6PRI.C.
*
***********************************************************************/
#define NULL 0
/* --- library includes files --- */
#include <sgtty.h>
#include <stdio.h> /* Standard UNIX definitions */
#include <ctype.h> /* isascii definitions */
#include <signal.h> /* signal catcher definitions */
/* --- MOD400 wild card and file management stuff --- */
#include <star_name.h> /* wild card filename routines */
#define MOD4_NAME 12 /* maximum size of Honeywell file name */
#define SVQ 1 /* sequential file; multi-volume set; ASCII */
#define SEQ 2 /* reqular sequential file; ASCII */
#define S_R 18 /* string_relative file; ASCII */
#define F_R 13 /* fixed_relative file; BINARY */
#define ASCII 0 /* MOD400 SEQ, S_R, and SVQ file types */
#define BINARY 2 /* MOD400 F_R file type */
#define FOREIGN 1 /* MOD400 SEQ (DATA_CODE=BINARY) file type */
/* --- symbol definitions --- */
#define MAXPACKSIZ 2000 /* Maximum packet size */
#define MAXTIM 60 /* Maximum timeout interval */
#define MAXTRY 10 /* Times to retry a packet */
#define MINTIM 2 /* Minumum timeout interval */
#define MYEOL 13 /* End-Of-Line character I need */
#define MYPAD 0 /* Number of padding characters I will need */
#define MYPCHAR 0 /* Padding character I need (NULL) */
#define MYQUOTE '#' /* Quote character I will use */
#define MYTIME 10 /* Seconds after which I should be timed out */
#define TRUE -1
#define FALSE 0
#define LF 10
#define CR 13 /* ASCII Carriage Return */
#define SUB 26 /* ASCII Sub character */
#define DEL 127 /* Delete (rubout) */
#define ESC 0x1b /* real escape char */
#define SOH 1 /* Start of header 'ack' */
#define SP 32 /* ASCII space */
#define _ioeof 0x20
#define TANDEM 0
/* --- Macro Definitions --- */
/*
* tochar: converts 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 )
#define forever while(1)
/************************************************************************
*
* Definitions for HD6KER.C
*
***********************************************************************/
#ifdef MAINDEF
/* --- procedures passed as arguments etc. --- */
char cread();
/* recv procs */
extern char rinit(), rfile(), rdata();
/* send procs */
extern char sinit(), sfile(), sattru(), sdata(), seof(), sbreak();
int m4_errno, decfil(), syserr();
/* --- procedures in other source files --- */
char ascout(), ascedit(), filerr(), nextin();
int flushinput(), cooktty(), rawtty();
int get_time(), wildname(), timoset(), unbuffer();
/* --- forward declarations --- */
extern unsigned chk2();
extern unsigned fsize();
/* --- global variables --- */
int
aflg, rflg, sflg, /* flags for AUTO, RECEIVE, SEND */
debug, /* indicates level of debug output (0=none) */
filnamcnv, /* -1 means do file name case conversions */
filecount, /* Number of files left to send */
image, oimage, /* 0 = 7-bit, 1 = 8-bit mode, 2 = prefixing */
fileimage, ofi, /* 0 = open text file; 2 = open binary file */
n, /* Packet number */
oldt, /* previous char in encode() */
numtry, /* Times this packet retried */
oldtry, /* Times previous packet retried */
pad, /* How much padding to send */
qu8,
rpt,
rptflg,
sz,
size, /* Size of present data */
spsiz, /* Maximum send packet size */
sattrib, /* Attribute packet indicator FRANK DREANO */
senda, /* Another attribute flag */
slongp, /* Extended packet indicators FRANK DREANO */
bctr = 3, /* CRC type block-check requested */
bctu = 1, /* block-check used */
sysint,
addsub,
timint = 10, /* Timeout for foreign host on sends */
lrsz_6 = 512, /* Fixed-relative, BU, record size */
cmdstat, /* Return status for system commands */
dlflag; /* Flag to overwrite incoming files */
char
c, /* dummy char */
*dname, /* name of debug file DH+S */
*dt, /* data-block code/decode */
eol = '\015', /* End-Of-Line character to send */
**filelist, /* List of files to be sent */
*filenames[99],
*filnam, /* Current file name */
getfiles[MAXPACKSIZ],
iflg = 0, /* 8th-bit-mode set */
packet[MAXPACKSIZ], /* Packet buffer */
padchar, /* Padding character to send */
quote = '#', /* Quote character in incoming data */
recpkt[MAXPACKSIZ], /* Receive packet buffer */
state, /* Present state of the automaton */
timflag, /* timeout flag DH+S */
type, /* received-packet type */
fo_name[56], /* pathname for server commands */
cmdstg[80], /* String to hold system commands */
cmdstring[80], /* String to hold system commands */
attrib[80]; /* String to hold file attributes */
char amauto[] = "%sI am in server mode!";
char badpack[] = "%sYour Kermit sent invalid packet, type \"%c\"!";
char crlf[] = "\r\n";
char *eighths[] = {"7-bit character","binary-image-mode","8th-bit prefixed"};
char goodbye[] = "Returning to MOD400; goodbye.";
char logout[] = "Logging off the host; goodbye.";
char *logicval[]= {"OFF", "ON"};
char noname[] = "%sNo valid names in GET request";
char xnull[] = ""; /* xnull string */
char onlyg[] = "%sUnimplemented server command!";
char prompt[] = "Superkerm: ";
/* The following MOD400 command causes the Superkermit server to log off
the DPS-6 when done. It causes a 'C' siqquit trap that isn't very pretty
and could be avoided if a deferred 'BYE' task could be spawned. However
the -DFR argument to the spawn task command (ST) is illegal in swappools,
so to keep it working in all environments the trap will be tolerated. */
char byenow[] = ">SYSLIB2>BYE -BF";
char buname[] = ">SYSLIB2>EC";
char hostok[] = "Kermit server command EXECUTED!";
char hostng[] = "ERROR: Kermit server command NOT EXECUTED!";
FILE *fp, /* current disk file */
*dfp; /* debug file DH+S */
struct sgttyb cookedmode, rawmode;
/* --- Identification string --- */
char ident[] =
"\033\140\nSuperKermit 09 Apr 91 (Ver 2.01) Frank Dreano.\n";
/* --- Old (and I mean OLD) setups for cooked and raw TTY...Dreano --- */
/*
char tset[] =
">>SYSLIB2>STTY -DEV VIP7801 -DSW1 8800 -DSW2 0800 -TERM 04 -IN A -OUT N";
char tclr[] =
">>SYSLIB2>STTY -DEV VIP7301 -RESET";
*/
/* --- These cooked and raw TTY settings are for 3.1/4.0 op. system --- */
char tset[] =
">SYSLIB2>STTY -DEV VIP7801 -LL 4096 -MODES ^CR,^EC,LF -IN A -OUT N";
char tclr[] =
">SYSLIB2>STTY -DEV VIP7808 -RESET";
#else
/************************************************************************
*
* Definitions for HD6PRI.C
*
***********************************************************************/
/* --- procedures passed as arguments etc. --- */
extern char cread();
/* recv procs */
char rinit(), rfile(), rdata();
/* send procs */
char sinit(), sfile(), sattru(), sdata(), seof(), sbreak();
extern int m4_errno, decfil();
/* --- procedures in other source files --- */
extern char ascout(), ascedit(), filerr(), nextin();
extern int flushinput(), cooktty(), rawtty();
extern int get_time(), wildname(), timoset(), unbuffer();
/* --- forward declarations --- */
unsigned chk2();
unsigned fsize();
/* --- global variables --- */
extern int
aflg, rflg, sflg, /* flags for AUTO, RECEIVE, SEND */
debug, /* level of debugging output (0=none) */
filnamcnv, /* -1 means do file name case conversions */
filecount, /* Number of files left to send */
image, oimage, /* 0 = 7-bit, 1 = 8-bit mode, 2 = prefixing */
fileimage, ofi, /* 0 = open text file; 1 = open binary file */
n, /* Packet number */
oldt, /* previous char in encode() */
numtry, /* Times this packet retried */
oldtry, /* Times previous packet retried */
pad, /* How much padding to send */
qu8,
rpt,
rptflg,
sz,
size, /* Size of present data */
spsiz, /* Maximum send packet size */
sattrib, /* Attribute packet indicator FRANK DREANO */
senda, /* Another attribute flag */
slongp, /* Extended packet indicators FRANK DREANO */
bctr, /* block-check requested */
bctu, /* block-check used */
sysint,
addsub,
timint, /* Timeout for foreign host on sends */
lrsz_6, /* Fixed-relative, BU, record size */
cmdstat, /* Return status for system commands */
dlflag; /* Flag to overwrite incoming files */
extern char
c, /* dummy char */
*dname, /* name of debug file DH+S */
*dt, /* data-block code/decode */
eol, /* End-Of-Line character to send */
**filelist, /* List of files to be sent */
*filenames[],
*filnam, /* Current file name */
getfiles[],
iflg, /* 8th-bit-mode set */
packet[], /* Packet buffer */
padchar, /* Padding character to send */
quote, /* Quote character in incoming data */
recpkt[], /* Receive packet buffer */
state, /* Present state of the automaton */
timflag, /* timeout flag DH+S */
type, /* received-packet type */
fo_name[], /* pathname for server commands */
cmdstg[], /* String to hold system commands */
cmdstring[], /* String to hold system commands */
attrib[]; /* String to hold file attributes */
extern char amauto[],
badpack[],
crlf[],
*eighths[],
goodbye[],
logout[],
*logicval[],
noname[],
xnull[],
onlyg[],
prompt[],
byenow[],
buname[] ;
extern FILE *fp, /* current disk file */
*dfp; /* debug file DH+S */
#endif
/******************** End of File hd6ker.h *****************************/