DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T n

⟦a7c020198⟧ TextFile

    Length: 5923 (0x1723)
    Types: TextFile
    Names: »news.h«

Derivation

└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
    └─⟦6429e39db⟧ »EurOpenD3/news/tmnn.7.8.tar.Z« 
        └─⟦b5a65d78b⟧ 
            └─⟦this⟧ »src/D.news/news.h« 

TextFile

/* 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