1: /* 2: * rparams.h - parameters for readnews, rfuncs, and readr. 3: */ 4: 5: /* @(#)rparams.h 2.20 4/26/85 */ 6: 7: #include "params.h" 8: 9: /* flags for readnews */ 10: #define pflag options[0].flag 11: #define tflag options[1].flag 12: #define aflag options[2].flag 13: #define nflag options[3].flag 14: #define cflag options[4].flag 15: #define lflag options[5].flag 16: #define rflag options[6].flag 17: #define sflag options[7].flag 18: #define xflag options[8].flag 19: #define hflag options[9].flag 20: #define Mflag options[10].flag 21: #define fflag options[11].flag 22: #define uflag options[12].flag 23: #define eflag options[13].flag 24: 25: #define NEXT 0 26: #define SPEC 1 27: 28: #define FORWARD 0 29: #define BACKWARD 1 30: 31: #define UNKNOWN 0001 /* possible modes for news program */ 32: #define MAIL 0004 33: #define ANY 0007 34: 35: struct optable { /* options table. */ 36: char optlet; /* option character. */ 37: char filchar; /* if to pickup string, fill character. */ 38: int flag; /* TRUE if have seen this opt. */ 39: int newstate; /* STRING if takes arg, else OPTION */ 40: int oldmode; /* OR of legal input modes. */ 41: int newmode; /* output mode. */ 42: char *buf; /* string buffer */ 43: }; 44: 45: /* external declarations specific to readnews */ 46: extern char *infile, *outfile, *PAGER, *ALIASES; 47: extern char *bitmap, *MAILER, *MAILPARSER; 48: 49: #ifndef ROOTID 50: extern int ROOTID; 51: #endif 52: 53: #ifdef NOTIFY 54: extern char *TELLME; 55: #endif 56: 57: extern char filename[],coptbuf[],datebuf[],afline[]; 58: extern char newsrc[],groupdir[],rcbuf[],*rcline[],*argvrc[]; 59: extern int mode, ngrp, line, newrc(), readmode, news; 60: extern long bit, obit, last, ngsize, minartno; 61: extern FILE *rcfp,*actfp; 62: extern time_t atime; 63: extern struct optable *optpt, options[]; 64: extern int actdirect, rcreadok, zapng; 65: 66: #ifndef lint 67: /* lint gets very mad about i-minartno, this is one way of shutting it up */ 68: /* macros */ 69: #define get(i) ((i<minartno)? 0 : (bitmap[(i-minartno) >> 3] & (1 << (i-minartno) % 8))) 70: #define set(i) if (i>=minartno) bitmap[(i-minartno) >> 3] |= (1 << (i-minartno) % 8);else 71: #define clear(i) if (i>=minartno) bitmap[(i-minartno) >> 3] &= ~(1 << (i-minartno) % 8);else 72: #endif /* !lint */ 73: 74: #define FCLOSE(fp) {if (fp != NULL) {fclose(fp);fp = NULL;}}