1: #if defined(RCSIDENT) && defined(MAINLINE)
2: static char *zznewsgate = "$Header: newsgate.h,v 1.7.0.2 85/07/20 13:44:37 notes Rel $";
3: #endif defined(RCSIDENT) && defined(MAINLINE)
4:
5: /*
6: * newsgate.h
7: *
8: * This file contains the definitions needed for the notesfile/news
9: * gateway features.
10: *
11: * The new (April 4) implementation allows gateing from news to
12: * notesfiles at ANY site. Gateing from notes to news is allowed
13: * by a SINGLE site (for any given newsgroup) per notesfile 'subnet'.
14: *
15: * An example:
16: * 4 sites running notesfiles: A,B,C and D.
17: *
18: * Both A and B run news alongside the notesfile program.
19: * A and B both gateway news into notesfiles; this is safe
20: * and does not generate duplicate articles.
21: * Neither C nor D run news; they do want the articles they
22: * have written to go to the news system beyond A and B.
23: * Sites A and B should at least gateway their locally generated
24: * articles to news. Sites C and D should each make their own
25: * arrangements to have their articles passed to the news
26: * networks. Good criteria for choosing the site include
27: * the load of the machine to gateway, how well it is connected
28: * to the rest of the network and who runs the machine.
29: * In this case, suppose C goes with A and D goes with B.
30: * The gateway scripts will look something like:
31: *
32: * On A:
33: * newsoutput list (local articles (A))
34: * newsoutput -sC list (C's articles)
35: *
36: * On B:
37: * newsoutput list (local articles (B))
38: * newsoutput -sD list (D's articles)
39: *
40: *
41: * Original Coding: Ray Essick April 4, 1982
42: *
43: */
44:
45: /*
46: * Definitions that are likely to change between sites:
47: */
48:
49: #define DFLTRNEWS "rnews" /* if getnet fails */
50: #undef EXPANDPATH /* do indirect links */
51: #define DFLTDOMAIN "UUCP" /* if undomained */
52: #define PATHMAP "/usr/local/lib/usemap" /* path to the paths */
53: /* pathmap unused. */
54:
55: /*
56: * definitions that aren't likely to be changed.
57: */
58:
59: #define UGLYPATH /* want Path: ....!author */
60:
61: #define RNEWSNAME "Usenet" /* getnet pseudohost */
62: #define NEWSSYS "Anysystem" /* news' sequencer */
63: #define NEWSSEQ "News" /* prefix for above */
64: #define NEWSALIAS "newsgroups" /* mapping file */
65: #define NGRPLEN 30 /* longest newsgroup */
66: #define NEWSNF 1 /* alias news->nf */
67: #define NFBASENEWS 2 /* alias nf->news */
68: #define NFRESPNEWS 3 /* alias nf->news */
69: #define OLDSUFFIX "- from a notesfile" /* catch loops */
70: #define NFSUFFIX "- (nf)" /* catch nf-news-nf */
71: #define CTL ".ctl" /* control msgs */
72: #define SLEEPTIME 10 /* between rnews' */
73: #define GATEMAX 100 /* for newsoutput -c */
74: #define AUTHORPLACEHOLDER "seefromline" /* for Path: line */
75:
76: /*
77: * classes to send back
78: */
79:
80: #define NEWS_ALLSEND 001 /* all non-local */
81: #define NEWS_LOCALSEND 002 /* local articles */
82:
83:
84: /*
85: * stuff to be compatible with Salkind/Spickelmier work
86: * Most of these are carried over from the news system.
87: */
88:
89: #define NGDELIM ','
90: #define NEGCHAR '!' /* negation */
91: #define PROTO 'A' /* A-news protocol */
92: #define NUMGROUPS 5
93:
94: /*
95: * Definitions for the New and Improved version thanks to
96: * Tw Cook of Hewlett-Packard.
97: */
98:
99: #define NFLINE1 "Nf-ID" /* parent, etc */
100: #define NFLINE2 "Nf-From" /* author,dates */
101:
102:
103: extern char *tzone (); /* in newsdump.c */
104: extern char *getpath (); /* in newspath.c */
105: extern char *Version; /* in newsdump.c */
106: extern char rnewscmd[]; /* in newsoutput.c */
107: extern int sendclass; /* classes to send */
108:
109: /*
110: * The following lines are from the B-news program.
111: *
112: * header.h - Article header format
113: *
114: * @(#)header.h 2.11 4/24/83";
115: */
116:
117: #define NUNREC 50 /* bnews:header.h */
118: #define BUFLEN 256 /* bnews:defs.h */
119: #define PATHLEN 512 /* bnews:defs.h */
120: #define NAMELEN 64 /* bnews:defs.h */
121: #define NETCHRS "!:.@^%" /* bnews:defs.h */
122: #define LBUFLEN 1024 /* bnews:defs.h */
123: #define BDATE 64 /* bnews:defs.h */
124: /* was DATELEN */
125:
126: struct hbuf /* article header */
127: { /* bnews:header.h */
128: char from[BUFLEN]; /* From: */
129: char path[PATHLEN]; /* Path: */
130: char nbuf[BUFLEN]; /* Newsgroups: */
131: char snbuf[BUFLEN]; /* Squashed nbuf. */
132: char title[BUFLEN]; /* Subject: */
133: char oident[BUFLEN]; /* Article-I.D.: */
134: char ident[BUFLEN]; /* Message-ID: */
135: char replyto[BUFLEN]; /* Reply-To: */
136: char followid[BUFLEN]; /* References: */
137: char subdate[BDATE]; /* (submitted) Date: */
138: long subtime; /* subdate in secs */
139: char recdate[BDATE]; /* Date-Received: */
140: long rectime; /* recdate in secs */
141: char expdate[BDATE]; /* Expires: */
142: long exptime; /* expdate in secs */
143: char ctlmsg[PATHLEN]; /* Control: */
144: char sender[BUFLEN]; /* Sender: */
145: char followto[BUFLEN]; /* Followup-to: */
146: char postversion[BUFLEN]; /* Post-Version: */
147: char relayversion[BUFLEN]; /* Relay-Version: */
148: char distribution[BUFLEN]; /* Distribution: */
149: char organization[BUFLEN]; /* Organization: */
150: char numlines[8]; /* Lines: */
151: int intnumlines; /* Integer version */
152: char keywords[BUFLEN]; /* Keywords: */
153: char approved[BUFLEN]; /* Approved: */
154: char nline1[BUFLEN]; /* NF-Id: */
155: char nline2[BUFLEN]; /* NF-From: */
156: char *unrec[NUNREC]; /* unrecognized lines */
157: };
Defined variables
Defined struct's
hbuf
defined in line
126; used 16 times
Defined macros
CTL
defined in line
71; used 1 times
PROTO
defined in line
91; used 1 times
Usage of this include