home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
archives
/
ncr9800.tar.gz
/
ncr9800.tar
/
mcs_defs.h
< prev
next >
Wrap
C/C++ Source or Header
|
1990-07-13
|
7KB
|
167 lines
/* mcs_defs_h */
#include <stdio.h>
#include <ctype.h>
#define COMPVER 0x01 /* Compiler version 1. */
#define MESGS 40 /* Number of messages in outmesg array. */
#define BUF 50
#define MSGBUF 80 /* Maximum length of the message buffers */
/* DRE 013190 - changed from 110 TO 80 */
#define PWDLEN 10 /* Password buffer length. */
#define RESP_EOT 0x1e /* Response message End-Of-Text character. */
#define PASSWD "PASSWORD" /* Password for enabling and disabling. */
#define PRT_FILE "SPOOLFILE"
#define IN_TERM "INPUT"
#define OUT_TERM "OUTPUT"
#define QUEUENAME "THE_QUEUE"
#define iowriter if (iowrite) prt_iowriter
#define printriow if (iowrite) printreciow
#define OFF 0
#define ON 1
#define YES 'Y'
#define NO 'N'
#define MESG 0 /* Boolean for testing messages. */
#define VARESP 1 /* Boolean for testing variable responses. */
#define RESP 2 /* Boolean for testing responses. */
#define S 0 /* Regular send. */
#define SX25 1 /* Send SX25. */
/* Defines for ParBlock structures. */
#define IPPHASE 0x49 /* Input phase. */
#define OPPHASE 0x4f /* Output phase. */
#define TERMPHASE 0x54 /* Input terminal phase. */
#define NODATA(x) x |= 0x01 /* No data was available - return (bit 1 set) */
#define EXITFG(x) x |= 0x02 /* Suspend if data is not available (bit 2 set) */
#define NOENDKEY 0 /* Partial segment, user specified. */
#define INTEGESI 0x01 /* End of segment, user specified. */
#define INTEGEMI 0x02 /* End of message, user specified. */
#define INTEGEGI 0x03 /* End of group, user specified. */
#define ESI 0x53 /* End of segment, compiler generated. */
#define EMI 0x4d /* End of message, compiler generated. */
#define EGI 0x47 /* End of group, compiler generated. * */
#define AFTER 0x41 /* Advance after message display. */
#define BEFORE 0x42 /* Advance before message display. * */
#define LINE 0x4c /* Line advancing. */
#define PAGE 0x50 /* Page advancing. * */
#define HEXMNEM 0 /* Mnemonic is a string of hex. */
#define ASCIIMNEM 1 /* Mnemonic is a string of ascii. * */
#ifndef lint
extern void MSGBUILD();
extern void \:FINISH();
extern void MCS\:ENABLE();
extern void MCS\:DSABLE();
extern void MCS\:SEND();
extern void MCS\:RECEIV();
extern void MCS\:ACCEPT();
extern void SESS\:MGT();
#endif /*NOT LINT*/
FILE *fp; /* File pointer for the spool file. */
int iowrite; /* Iowriter. */
int nosends; /* Number of sends in a session. */
char outmesg[MESGS][MSGBUF];/* Array of output messages. */
char outterm[BUF]; /* Output terminal name. */
char interm[BUF]; /* Input terminal name. */
char iobuff[MSGBUF]; /* Buffer for send messages to iowriter. */
char *mcs_fgets();
struct SendSMTD{
char ijn[BUF];
char ihc[BUF];
} SendSMTD;
struct OutputCD { /* Output communication descriptor. */
char destcnt[4]; /* Destination count. */
char textlen[4]; /* Text length. */
char statkey[2]; /* Status key. */
char errkey; /* Error key. */
char symdest[12]; /* Symbolic destination. */
struct ExOutCD { /* Extended output CD. */
char xoformat; /* Extended output format. */
char tcfunction[3]; /* TC function. */
char tcqualifier[3]; /* TC qualifier. */
char tcoutput_reset; /* TC output_reset */
char xofiller[33]; /* Extended output filler. */
} ExOutCD;
} OutCD;
struct InputCD { /* Input communication descriptor. */
char q[12]; /* Input CD queue. */
char symq1[12]; /* Symbolic Sub-queue 1. */
char symq2[12]; /* Symbolic Sub-queue 2. */
char symq3[12]; /* Symbolic Sub-queue 3. */
char mdate[6]; /* Message date. */
char mtime[8]; /* Message time. */
char source[12]; /* Symbolic source. */
char len[4]; /* Text length. */
char endkey; /* End key. */
char statkey[2]; /* Status key. */
char msgcnt[6]; /* Message count */
struct ExInCD { /* Extended input CD. */
char xiformat; /* Extended input format. */
char xistatus[2]; /* TC status. */
char xipassthru[10]; /* TC pass through. */
char xifiller[27]; /* Extended input filler. */
} ExInCD;
} InCD;
struct mnemonik { /* Mnemonic structure in each parameter block. */
char type; /* Mnemonic type field. */
char *address; /* Address of mnemonic. */
/* DRE 013190 - change to char ptr */
/* CHANGE PEG 012990 */
/* CAUSED AN ALIGNMENT PROBLEM DUE TO
RANDOMNESS OF BYTE PLACEMENT */
/* for all purposes a four byte array */
};
struct SParBlck { /* parameter block for sending. */
short length; /* User message area length. */
char complver; /* Compiler version. */
char linenum; /* Number of lines to advance. */
char indicator; /* Send or receive end key. */
char advancing; /* Type of advancing. */
char position; /* Mode of advancing. */
char sendcount; /* Send destination count. */
/* struct mnemonik mnemonic; */ /* Mnemonic structure field. */
char mnemonic[4]; /* DRE 020990 */
} SParBlock;
struct RParBlck { /* parameter block for receiving. */
short length; /* User message area length. */
char complver; /* Compiler version. */
char avail; /* Bit flags - receive data availability. */
char indicator; /* Send or receive end key. */
char filler[7]; /* PEG 012990
SIMILAR TO MCDAID'S DELETED SEVEN
UNUSED BYTES FOR PROPER DEFINE */
} RParBlock;
struct ParBlck { /* parameter block for enable/disable. */
char denabltyp; /* Enable or disable type. */
char passwdlen; /* Password length. */
char complver; /* Compiler version. */
char destcount; /* Enable/disable/purge destination count. */
char filler [8];
} ParBlock;
struct SMParBlck { /* Session Management Parameter Block. */
char format;
char action[3]; /* EST, DIS, ABT, 1, 2, or 3. */
char pbstatus[4]; /* Parameter block status. */
char symdest[12]; /* Symbolic destination. */
char input; /* Allow input. */
char output; /* Allow output. */
char status[2]; /* Return status. */
char exstatus[4]; /* Return extended status. */
} SMParBlock;