home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
kermit.columbia.edu
/
kermit.columbia.edu.tar
/
kermit.columbia.edu
/
archives
/
researchmachines.zip
/
rmlext.h
< prev
next >
Wrap
Text File
|
1985-07-11
|
8KB
|
262 lines
/************************************************************************/
/* KEXT.H - Externals File for RML Kermit.
Chris Kennington 8th July 1985. */
/* Revised 7th April to permit new main-menu operation;
int procedure declarations removed to avoid compiler limitations. */
struct mode {
char m_value;
char *m_text;
char *m_help[5];
};
/* The following sets of #defines are only included in certain files:- */
#ifdef DEFS1
/* Global modes of Kermit program */
#define KERM 1 /* command-mode */
#define CONN 2 /* connect-mode */
#define SEND 3 /* send-mode */
#define RECV 4 /* receive-mode */
#define CMND 5 /* send server commands */
#define PARM 6 /* set parameters */
#define DISK 8 /* process disk commands*/
#define QUIT 9 /* exit from Kermit */
#define MODMAX 9 /* number of modes */
/* types of remote server command */
#define GET 21
#define RMH 22
/* SEND 3 */
#define LOGO 24
#define BYE 25
#define RMSV 26
#define MAIN 27
/* QUIT 9 */
#define CMDMAX 9
/* data items used only in main() */
extern char head2[], head3[], head4[], head5[], head6[];
extern struct mode modker, modconn, modrec, modsend,
modparm, modcmd, modisk, modauto, modquit;
extern struct mode rcget, rcrmsv, rcrmh, rclogo, rcbye, rcmain;
extern struct mode *kmodes[], *rcmds[];
extern char *locations[], inform[], interr[], canx[];
#endif
#ifdef DEFS2
/* Locations of text items in header of screen */
#define LOCCRCS 0x032a
#define LOCDUPES 0x031e
#define LOCESC 0x0141
#define LOCFILE 0x0208
#define LOCIN 0x023c
#define LOCLOC 0x0540
#define LOCMODE 0x0108
#define LOCNAKS 0x0341
#define LOCOUT 0x024a
#define LOCPKTS 0x0228
#define LOCSEQ 0x022f
#define LOCSPEED 0x0127
#define LOCTIMOS 0x0334
#define LOCVER 0x0030
/* others */
#define DEFNAM "INVALID.NAM"
#define DEFLEN 11 /* length of DEFNAM */
#endif
#ifdef DEFS3
/* positions of rows & columns in set/show & menu:- */
#define MENUCOL 20 /* main-menu heading */
#define PKCOL 15 /* column for key-letter */
#define PNMCOL 25 /* column for pamrameter-name */
#define PVCOL 50 /* column for parameter-value */
#define PA2COL 68 /* column for right-arrow */
#define SCRTOP 7
#define SCRBOT 16
#define SCRSIZE 5 /* number of entries on screen */
#define FIRSTLINE SCRTOP*256 /* first useable line of screen */
#define LASTLINE (SCRTOP+(2*SCRSIZE)-2)*256 /* last useable line */
#endif
#ifdef DEFS4
/* Global Kermit symbols */
#define MAXPACKSIZ 94 /* Maximum packet size */
#define MAXTRY 10 /* Times to retry a packet */
#define MYQUOTE '#' /* Quote character I will use */
#define MYPAD 0 /* No padding */
#define MYEOL '\r' /* End-Of-Line character I need (CR) */
#define MYTIME 10 /* Seconds after which I should be timed out */
#endif
#ifdef DEFS5
/* BDOS Function-Codes */
#define SELDSK 14 /* 0x0e */
#define SCHFST 17 /* 0x17 */
#define SCHNXT 18 /* 0x12 */
#define DELFIL 19 /* 0x13 */
#define RENFIL 23 /* 0x17 */
#define CURDSK 25 /* 0x19 */
#define SETDMA 26 /* 0x1a */
#ifdef MPUZ80 /* following for CP/M only */
#define GETROV 29 /* 0x1d */
#define GETUSR 32 /* 0x20 */
#define RSTDRV 37 /* 0x25 */
#else /* following for MSDOS only */
#define DIRPTH 0x47
#define MCHFST 0x4e
#define MCHNXT 0x4f
#endif
#endif
/* Items which differ between 480Z & Nimbus:- */
#ifdef MPUZ80 /* 480Z versions */
#define CHAR char
#define DEOL 0x19
#define MAXSPD 7 /* max baud rate code */
#define NL 0x0d
#define SCRLEN 24 /* lines on screen */
#else /* Nimbus versions */
#define CHAR unsigned char
#define DEOL 0x00
#define MAXSPD 6 /* max baud rate code */
#define NL 0x0d
#define SCRLEN 25 /* lines on screen */
#endif
/* #defines needed in all files:- */
/* ASCII characters etc. */
#define SOH 1
#define CTLC 0x03
#define EOT 0x04
#define BKSP 0x08
#define TAB 0x09
#define LF 0x0a
#define UP 0x0b
#define CR 0x0d
#define XON 0x11
#define XOFF 0x13
#define FWD 0x18
#define CTLZ 0x1a
#define LARROW 0x1b /* left arrow */
#define ESC 0x1b
#define SP 0x20
#define DELT 0x7f
#define TRUE -1
#define FALSE 0
/* Kermit Macro Definitions */
#define tochar(ch) ((ch) + ' ')
#define unchar(ch) ((ch) - ' ')
#define ctl(ch) ((ch) ^ 64 )
#define forever while (1)
/* procedures in code of standard Kermit */
extern char sbreak(), sdata(), seof(), sfile(), sinit();
extern char rpack(), rdata(), rfile(), rinit();
/* extern int connect(), recsw(), sendsw(), spack();
extern int bufemp(), bufill(), gnxtfl(), rpar(), spar();
extern int error(), flushinput(), prerrpkt(), printmsg();
*/
/* Additional routines in RML version */
extern char ascch(), *avoid(), cpmunge(), strcp(), strcop();
extern char dirprt(), filechek(), fileok(), osaction(), *userpath();
extern CHAR wildex();
/* extern int filexpand(), findcmd();
extern int kermkill(), keyget(), keyline(), parse();
extern int curset(), setbaud(), setpar(), setshow();
extern int errdisp(), nextin(), nextout(), cmdhelp(), eschelp();
*/
extern unsigned getram();
extern FILE *kropen(), *kwopen();
/* RML standard communications interface */
/* extern int s4break(), s4env(), s4get(), s4go(), s4put(), s4reset();
extern int s4set(), s4sleep(), s4speed(), s4stop(), s4test();
*/
/* RML keyboard/screen standard procedures etc. */
extern char kbdin();
/* extern int bell(), cpmgo(), cursor(), jump();
extern int keyinit(), keyrest(), netcool(), outc();
extern int screen(), scroll(), txtout(), vtout(), vtline();
*/
/* Global Original Kermit Variables */
extern int size, /* Size of present data */
rpsiz, /* Maximum receive packet size */
spsiz, /* Maximum send packet size */
pad, /* How much padding to send */
n, /* Packet number */
numtry, /* Times this packet retried */
oldtry, /* Times previous packet retried */
image, /* 8th-bit mode */
filecount; /* Number of files left to send */
extern char state, /* Present state of the automaton */
padchar, /* Padding character to send */
eol, /* End-Of-Line character to send */
quote, /* Quote character in incoming data */
**filelist, /* List of files to be sent */
*filnam, /* Current file name */
*recpkt, /* Receive packet buffer */
*packet, /* Packet buffer */
*oldpkt; /* Copy of last incoming data */
extern FILE *fp; /* File pointer for current disk file */
/* additional externals for RML version: */
extern char *cmdline, *cmdparm[], dots[], files;
extern char kmode, abtflag, nakflag, nmavoid, type;
extern char env, esccode, spdcode, pager, scrline;
extern char comctrl, escch, netslow, softeof;
extern char *filblank, badmsg[], errmsg[], prompt[];
extern char connto[], diskcmds[], mainsays[], rcvng[], sendf[], trying[];
extern char sp0[],sp1[],sp2[],sp3[],sp4[],sp5[],sp6[],sp7[];
extern char *spval[], blanx[], divide[], divisor[], forhelp[], kqhelp[], *parsets[];
extern char *osline, oprompt[], *ermsg, *fname, *work;
extern int commode, echo, list, oldimage, parity, fuzz[], rptflg;
extern struct fcb *ownfcb;
/* global event counters */
extern int badcrcs, dupes, naxin, timouts;
/* data in machine-dependent files (K480Z.C, KNIM.C) */
extern char backto[], eprompt[], head1[];
extern char diskfail[], null[], os1[], os2[];
extern char oscmd1[], oscmd2[], prompt[];
/* Aztec-C globals: */
extern int errno;
/********* End of Kermit externals header-file ********************/