1: /* 2: * params.h - parameters for everyone. 3: */ 4: 5: /* @(#)params.h 2.20 1/17/86 */ 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: #ifdef HIDDENNET 76: extern char *LOCALSYSNAME; 77: #endif /* HIDDENNET */ 78: 79: extern char *FULLSYSNAME; 80: #ifndef SHELL 81: extern char *SHELL; 82: #endif /* !SHELL */ 83: 84: /* external function declarations */ 85: extern FILE *xfopen(), *hread(); 86: extern char *strcpy(), *strncpy(), *strcat(), *index(), *rindex(); 87: extern char *ctime(), *mktemp(), *malloc(), *realloc(), *getenv(); 88: extern char *arpadate(), *dirname(), *AllocCpy(), *strpbrk(); 89: extern char *errmsg(); 90: extern struct passwd *getpwnam(), *getpwuid(), *getpwent(); 91: extern struct group *getgrnam(); 92: extern time_t time(), getdate(), cgtdate(); 93: extern int broadcast(), save(), newssave(), ushell(), onsig(); 94: extern long atol(); 95: extern struct tm *localtime(); 96: 97: #ifdef lint 98: /* This horrible gross kludge is the only way I know to 99: * convince lint that signal(SIGINT,SIG_IGN) is legal. It hates SIG_IGN. 100: */ 101: #ifdef SIG_IGN 102: #undef SIG_IGN 103: #endif /* SIG_IGN */ 104: #define SIG_IGN main 105: extern int main(); 106: #endif /* lint */ 107: 108: #ifdef VMS 109: #define LINK(a,b) vmslink(a,b) 110: #define UNLINK(a) vmsunlink(a) 111: #else 112: #define LINK(a,b) link(a,b) 113: #define UNLINK(a) unlink(a) 114: #endif /* !VMS */