|
|
1.1 ! root 1: /* ! 2: * params.h - parameters for everyone. ! 3: */ ! 4: ! 5: /* @(#)params.h 2.25 10/15/87 */ ! 6: ! 7: #include <stdio.h> ! 8: #include <signal.h> ! 9: #include <sys/types.h> ! 10: #include <grp.h> ! 11: #include <pwd.h> ! 12: #include <sys/stat.h> ! 13: #include <ctype.h> ! 14: ! 15: #include "defs.h" ! 16: ! 17: #if defined(BSD4_2) || defined(BSD4_1C) ! 18: #include <sys/time.h> ! 19: #else /* sane */ ! 20: #include <time.h> ! 21: #endif /* sane */ ! 22: ! 23: #ifndef UNAME ! 24: /* ! 25: * 9 bytes is for compatibility with USG, in case you forget to define UNAME. ! 26: * 33 bytes in nodename because many sites have names longer than 8 chars. ! 27: */ ! 28: ! 29: struct utsname { ! 30: char sysname[9]; ! 31: char nodename[33]; ! 32: char release[9]; ! 33: char version[9]; ! 34: }; ! 35: #else ! 36: #include <sys/utsname.h> ! 37: #endif ! 38: ! 39: #ifndef USG ! 40: #include <sys/timeb.h> ! 41: #else ! 42: struct timeb ! 43: { ! 44: time_t time; ! 45: unsigned short millitm; ! 46: short timezone; ! 47: short dstflag; ! 48: }; ! 49: #endif ! 50: ! 51: #include "header.h" ! 52: ! 53: /* line from SUBFILE */ ! 54: struct srec { ! 55: char s_name[2*BUFLEN]; /* system name */ ! 56: char *s_nosend; /* systems that inhibit sending */ ! 57: char s_nbuf[LBUFLEN]; /* system subscriptions */ ! 58: char s_flags[BUFLEN]; /* system flags */ ! 59: char s_xmit[LBUFLEN]; /* system xmit routine */ ! 60: }; ! 61: ! 62: extern int uid, gid, duid, dgid; ! 63: extern int savmask, SigTrap, mode, lockcount; ! 64: extern struct hbuf header; ! 65: extern char bfr[LBUFLEN], *username, *userhome; ! 66: ! 67: extern char *SPOOL, *LIB, *BIN, *SUBFILE, *ACTIVE; ! 68: extern char *LOCKFILE, *SEQFILE, *ARTFILE; ! 69: extern char *news_version, *Progname; ! 70: ! 71: #ifdef NOTIFY ! 72: extern char *TELLME; ! 73: #endif /* NOTIFY */ ! 74: ! 75: extern char *LOCALSYSNAME, *LOCALPATHSYSNAME, *FROMSYSNAME, *PATHSYSNAME; ! 76: ! 77: #ifndef SHELL ! 78: extern char *SHELL; ! 79: #endif /* !SHELL */ ! 80: ! 81: /* external function declarations */ ! 82: extern FILE *xfopen(), *hread(); ! 83: extern char *strcpy(), *strncpy(), *strcat(), *index(), *rindex(); ! 84: extern char *ctime(), *mktemp(), *malloc(), *realloc(), *getenv(); ! 85: extern char *arpadate(), *dirname(), *AllocCpy(), *strpbrk(); ! 86: extern char *errmsg(); ! 87: extern struct passwd *getpwnam(), *getpwuid(), *getpwent(); ! 88: extern struct group *getgrnam(); ! 89: extern time_t time(), getdate(), cgtdate(); ! 90: extern int broadcast(), save(), newssave(), ushell(), onsig(); ! 91: extern long atol(); ! 92: extern struct tm *localtime(); ! 93: ! 94: #ifdef lint ! 95: /* This horrible gross kludge is the only way I know to ! 96: * convince lint that signal(SIGINT,SIG_IGN) is legal. It hates SIG_IGN. ! 97: */ ! 98: #ifdef SIG_IGN ! 99: #undef SIG_IGN ! 100: #endif /* SIG_IGN */ ! 101: #define SIG_IGN main ! 102: extern int main(); ! 103: #endif /* lint */ ! 104: ! 105: #ifdef VMS ! 106: #define LINK(a,b) vmslink(a,b) ! 107: #define UNLINK(a) vmsdelete(a) ! 108: FILE *art_open(), *xart_open(); ! 109: #else ! 110: #define LINK(a,b) link(a,b) ! 111: #define UNLINK(a) unlink(a) ! 112: #define art_open fopen ! 113: #define xart_open xfopen ! 114: #endif /* !VMS */ ! 115: ! 116: /* Check for old naming scheme using HIDDENNET */ ! 117: #ifdef HIDDENNET ! 118: # ifndef GENERICFROM /* Ugly fix, only for use in pathinit.c */ ! 119: # define GENERICFROM "%s%0.0s%s", HIDDENNET ! 120: # define HIDDENNET_IN_LOCALSYSNAME ! 121: # endif ! 122: # ifndef GENERICPATH ! 123: # define GENERICPATH HIDDENNET ! 124: # endif ! 125: #endif ! 126: ! 127: #ifdef M_XENIX ! 128: /* fake SVID adivsory locking with xenix routines */ ! 129: #define lockf locking ! 130: #define F_ULOCK 0 ! 131: #define F_LOCK 3 ! 132: #define F_TLOCK 4 ! 133: #endif /* M_XENIX */ ! 134: ! 135: #ifdef IHCC ! 136: #define DOGETUSERS ! 137: #define LOGDIR ! 138: #endif /* IHCC */ ! 139: ! 140: #ifdef BSD4_2 ! 141: #define MKDIR_SUB ! 142: #define READDIR ! 143: #endif /* BSD4_2 */ ! 144: ! 145: #ifdef READDIR ! 146: #include <sys/dir.h> ! 147: #else /* !READDIR */ ! 148: #include "ndir.h" ! 149: #endif /* !READDIR */ ! 150: ! 151: #if defined(DBM) && !defined(M_XENIX) ! 152: typedef struct { ! 153: char *dptr; ! 154: int dsize; ! 155: } datum; ! 156: #endif /* DBM &! XENIX */ ! 157: ! 158: #define STRCMP(a,b) ((*(a) != *(b)) ? (*(a)-*(b)) : strcmp((a)+1, (b)+1)) ! 159: #define STRNCMP(a,b,n) ((*(a) != *(b)) ? (*(a)-*(b)) : strncmp(a, b, n)) ! 160: #define PREFIX(a,b) ((*(a) != *(b)) ? FALSE : prefix((a)+1, (b)+1)) ! 161: ! 162: #ifdef SERVER ! 163: /* from clientlib.c */ ! 164: extern char *getserverbyfile(); ! 165: extern int server_init(); ! 166: extern void put_server(); ! 167: extern int get_server(); ! 168: extern void close_server(); ! 169: /* from nntp.c */ ! 170: extern FILE *open_active(); ! 171: extern int open_server(); ! 172: extern char *set_group(); ! 173: extern char *active_name(); ! 174: extern char *group_name(); ! 175: extern FILE *getarticle(); ! 176: extern FILE *getartbyid(); ! 177: extern char *article_name(); ! 178: extern void sync_server(); ! 179: extern int strindex(); ! 180: #endif /* SERVER */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.