Annotation of 43BSD/contrib/notes/src/newsgate.h, revision 1.1

1.1     ! root        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: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.