|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T n
Length: 5923 (0x1723) Types: TextFile Names: »news.h«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit └─⟦6429e39db⟧ »EurOpenD3/news/tmnn.7.8.tar.Z« └─⟦b5a65d78b⟧ └─⟦this⟧ »src/D.news/news.h«
/* news.h - parameters for everyone in the netnews software */ /* we need this in front of config.h for use in expiration times */ #define DAYS (60L*60L*24L) #define WEEKS (7*DAYS) #include "libport.h" /* portlib.h includes configsys.h and system.h */ #include "confignews.h" /* Things you might want to change once in a blue moon */ #define NEWSRC ".newsrc" /* name of .newsrc file (in home dir) */ #define DEFDIR "~/News/" /* default user news save directory */ #define NEGCHAR '!' /* newsgroup negation character */ #define DEADTIME 45 /* no. of seconds to wait on deadlock */ #ifdef SMALL_ADDRESS_SPACE # define BUFLEN 128 /* standard buffer size */ #else # define BUFLEN 256 /* standard buffer size */ #endif /* SMALL_ADDRESS_SPACE */ #define LBUFLEN 1024 /* big buffer size */ #define SBUFLEN 32 /* small buffer size (for system names, etc) */ #define SYSPATH "PATH=/local/bin:/bin:/usr/bin" /* default, secure, vanilla path */ /* Things you probably won't want to change */ #define CMPMAGIC "\037\235" /* 1F 9D -- heads a compressed news file */ /* #undef BIGGROUPS /* Use longs for article numbers */ #define PATHLEN 512 /* length of longest source string */ #define DATELEN 64 /* length of longest allowed date string */ #define NAMELEN 80 /* length of longest possible message ID */ #define NETCHRS "!:@^%" /* punct. chars used for various networks */ #define PATHSEP '!' /* uucp path separator character */ #define NGDELIM ',' /* delimit character in news group line */ #define LISTSEP ", " /* should be {NGDELIM, ' ', '\0'} */ #define NGSEP '.' /* newsgroup component separator */ #define MAILSEP '-' /* sub for NGSEP in mail addresses */ #define JUNKSUF ".junk" /* common suffix for junk groups */ typedef unsigned bits_t; /* used by newsrc,FEEDBITS code for bitmasks */ #ifdef BIGGROUPS typedef long nart_t; #define atoa(s) atol(s) #else typedef int nart_t; #define atoa(s) atoi(s) #endif /* BIGGROUPS */ #ifndef private #define private static #endif /* private */ #define Sprint1(where,fmt,arg) (void)sprintf(bfr,fmt,arg),where=savestr(bfr) #define Sprint2(where,fmt,a,b) (void)sprintf(bfr,fmt,a,b),where=savestr(bfr) /* function(s) and storage owned by newsinit.c */ extern void newsinit(); extern int uid, gid, duid, dgid, sigcaught; extern bool privileged; extern char *username, *userhome; extern char bfr[LBUFLEN]; #ifdef DEBUG extern int debug; /* if >0, don't do database munging */ #endif /* DEBUG */ extern int verbose; /* level of diagnostics to emit */ #ifdef RUNTIME extern char *newsattr(); #else #define newsattr(attr, def) def #endif /* !RUNTIME */ typedef struct { char *notify; /* send notification mail to this address */ char *nodename; /* the system's unmodified sitename */ char *pathname; /* its name for bang paths */ char *fromname; /* the Internet name of its gateway machine */ char *truename; /* its real Internet name */ char *smarthost; /* path to an autouter (if any) */ char *libdir; /* site library directory */ char *admdir; /* site administration directory */ char *leastuid; /* least UID of real users */ char *uuprog; /* name of uuname filter program */ /* these aren't used in network-based readers */ char *spooldir; /* site spool directory */ char *textdir; /* site article directory */ char *batchdir; /* site batch directory */ char *archdir; /* site archive directory */ } siteblk; extern siteblk site; /* where to find the site data */ /* escape character for group names in LIB/fascist and LIB/moderators files*/ #define GRPESCAPE '*' #define NULLPRED (bool (*)())NULL /* external function declarations for newslib.a and miscellaneous modules */ extern int linecount(), mailclose(); extern char *mailreply(), *organization(), *ospawn(); extern bool ngmatch(); extern FILE *xfopen(), *msgopen(), *mailopen(); extern catch_t xxit(); #define msgclose(fp) (void) fclose(fp) /* these are actually from getfiles.c or a network serv it,ge s"$libo atatfsUSTnded " iee y *esrated) ) return((arti!! lfilt)INE filt)c/che univert, brtname(); /* these are from the article-getter logic in getart.c */ #define A_LINECOUNT 1 /* article line count is wrong */ #define A_FETCHOK 0 /* article fetched OK */ #define A_MISSING -1 /* article is missing */ #define A_NOOPEN -2 /* article file could not be opened */ #define A_GARBLED -3 /* article header is garbled */ extern int getart(), arterr(), indexline(); extern void author(); #define I_NOART '~' /* article is missing */ #define I_LOCAL '!' /* article originated by calling user */ #define I_BLANK ' ' /* ordinary article */ #ifdef NONLOCAL /* these will be from a network service library */ extern char *getactive(); extern char *getgroups(); extern char *getdistribs(); extern int net_post(); #endif /* NONLOCAL */ /* these are from escapes.c */ #define RNESCCHR '%' /* escape character for builtin expansion */ extern void escapes(); /* expand C-style escapes */ extern void setexphook(); /* set macroexpansion hook */ extern void seeheader(); /* set 'current header' for macro purposes */ extern void strexpand(); /* expand escape characters in a string */ extern void fnexpand(); /* expand escape characters in a filename */ /* these are from artlist.c */ typedef struct { char *l_this; char *l_next; char *l_bufcopy; } lptr_t; int refname(); void artlstset(); int artlstloc(); int artlstdel(); char *artlstret(); /* these are from articleid.c */ typedef struct { time_t id_timestamp; long id_hash; /* extension fields, if any, go here */ char *id_username; char *id_homesite; } artid_t; extern int rewrite(); extern ulong hashart(); extern char *idmake(); extern artid_t *idparse(); extern bool idvalid(); #define NO_SIGNAL 0 /* in sigcaught, means no signal is pending */ /* news.h ends here */ fcopy; } lptr_t