home *** CD-ROM | disk | FTP | other *** search
- /*
- * kermitvar.h
- */
-
- /*
- * In a fit of cleverness, here are some macro defines for variables we *
- * aren't currently using. Only now we tell Lint to ignore constant *
- * Booleans!
- */
- #define local 1 /* Local mode flag--that is, I'm on your end */
- #define server 0 /* We are never server */
- #define delay 0 /* Time to delay before sending first packet */
- #define xpkt 0 /* Send X packet instead of F? */
-
- #define atcapb 8 /* Attribute capability bit */
- #define swcapb 4 /* Sliding windows capability bit */
- #define lpcapb 2 /* Long packets capability bit */
- #define closif zclosi /* I use closif() to close the input file in *
- * case it needs to be more complex later, but *
- * for now it just calls the z routine. */
- /*
- * Here are the variables which need to be set to startup values, and which
- * also can be freely changed between protocol transfers. At first I thought
- * to declare them all "extern" in order to force definition elsewhere.
- * On reflection, it makes sense to both declare them here and set them to
- * their default startup values. Thus they can be ignored outside of this
- * module if you so desire.
- *
- * Note that the names are very systematic: Names beginning with "r" have
- * to do with values I use for received packets; those beginning with "s"
- * are values I use for sending packets. Also note we set some, others are
- * set for us. I have made the ones we get in spar() static (local),
- * and the ones we send in rpar() global.
- *
- * First the ints.
- */
-
- struct Vars {
- struct XPR_IO io;
- struct XPR_UPDATE xpru;
- int cx,
- cz, /* Flags for aborting transfers. cx (control-X)*
- * is set to 1 if an abort of the current file *
- * is desired, cz (control-Z) if an abort of *
- * an entire batch transfer is desired. */
- rpsiz, /* Maximum packet size */
- /* Like most of the receive packet parameters, *
- * this one is actually set by the sender. But *
- * since the sender has the option to not send *
- * these, we must initialize to "reasonable" *
- * defaults. */
- bctr, /* Block check type to request. */
- limit, /* Retry limit on receive */
- warn, /* 1 for warn before overwriting files */
- rpadn, /* Number of pad characters I require. */
- rtimo; /* How long I want you to wait before you *
- * you time me out. */
- char rmark, /* Start of packet marker for receive */
- reol, /* End of packet marker for receive */
- start, /* Start state */
- sctlq, /* Control character quote character for send */
- rpadc; /* Pad character I want you to use */
- /*
- * Variables which MUST be set by the external interface.
- */
- int
- parity, /* 0 for no parity--need for proper 8th-bit quote */
- text, /* Flag 1 for text file, 0 for binary file */
- urpsiz; /* Maximum receive packet size user wants. */
- char *cmarg; /* Character string containing Kermit server cmd */
- /*
- * This block of defines is strictly internal flags of various kinds. *
- * I hope to Grid that I've got them all. Someday this will be cleaner *
- */
- int
- spsiz, /* Maximum send packet size */
- wsize, /* Maximum window size */
- sndpkl, /* Size of packet currently being attempted */
- filcnt, /* Number of files transferred so far */
- bctu, /* Block check type to use */
- rqf, /* Flag for 8th bit quote negotiations */
- ebq, /* 8th-bit prefix */
- ebqflg, /* 8th-bit quoting flag */
- xflag, /* Output to screen for generic server commands */
- rq, /* Received 8bq bid */
- sq, /* Sent 8bq bid */
- rpt, /* Repeat count */
- rptq, /* Repeat prefix */
- rptflg, /* Repeat processing flag */
- capas, /* Final position of inbound capas mask */
- atcapr, /* Attribute capability requested */
- atcapu, /* Attribute capability used */
- swcapr, /* Sliding windows capability requested */
- swcapu, /* Sliding windows capability used */
- lpcapr, /* Long packets capability requested */
- lpcapu, /* Long packets capability used */
- rsn, /* Received sequence number */
- seq, /* Current sequence number */
- maxsiz, /* Maximum data size for packet */
- rln, /* Length of received data field */
- size, /* Current size of output packet data */
- osize, /* Previous output packet data size */
- first, /* Some kind of lookahead flag */
- stimo, /* Timeout interval for me to use */
- spadn; /* Number of pad characters for me to use */
-
- char
- smark, /* Start of packet marker for send */
- spadc, /* Pad character to use on sending */
- seol, /* End of packet marker for sending */
- rctlq, /* Control character quote char for receiving */
- filnam[50], /* Current file name */
- ssc, /* Start server command */
- *sndpkt, /* Send packet. */
- *rcvpkt, /* Receieve packet. */
- *data, /* Data to send/receive before encode/decode */
- *rdatap, /* Pointer to null-terminated data field */
- *isp, /* Pointer to characters in memory */
- *osp; /* Output string pointer */
-
- int state;
- };
-