#ifndef CONFIG_H
#define CONFIG_H
#define MAX_NGNAME 255 /* max length of a ng name */
#define MAX_ITEMSIZE 2048 /* max length of a header line */
#define MAX_CFGLINE 255 /* max length of a cfg line */
#define MAX_NODENAME 32 /* max length of a node name */
#define MAX_DOMAINNAME 128 /* max length of a domain name */
#define MAX_LONGSTRING 12 /* max length of ltoa result */
#define MAX_PCKSTRING 8 /* max length of radixpack result */
#define MAX_CLPSIZE 255 /* max length of cmd line parameter */
#define PROCBUFSIZE 16384 /* size of article processing buffer */
#define COPYBUFSIZE 2048 /* size of file copy buffer */
/*----------------------------------------------------------------------*/
/* Configuration */
/* */
/*----------------------------------------------------------------------*/
typedef struct {
char workdir[_MAX_PATH];
char logfile[_MAX_PATH];
long logflg;
char pidfile[_MAX_PATH];
char configfile[_MAX_PATH]; /* configuration file pathname */
char mynode[MAX_NODENAME]; /* local node name without domain */
char mydomain[MAX_DOMAINNAME]; /* local node name including domain */
char activefile[_MAX_PATH]; /* active file pathname */
char active_times[_MAX_PATH]; /* file with active creation times */
char newsfile[_MAX_PATH]; /* article file if not stdin */
char newsdir[_MAX_PATH]; /* news home directory */
char historyfile[_MAX_PATH]; /* history file pathname */
} CONFIG;
extern CONFIG cfg;
extern void init_cfg(void);
extern int validate_cfg(void);
/*----------------------------------------------------------------------*/
/* Logging flags */
/*----------------------------------------------------------------------*/
#define LOG_FLUSH 0x00000001L
#define LOG_HISTORY 0x00000008L
#define LOG_ACTIVE 0x00000010L
#define DOLOG(x) ((cfg.logflg & (x)) != 0)
#endif