1*b636d99dSDavid van Moolenbroek /* 2*b636d99dSDavid van Moolenbroek * Copyright (c) 1989, 1990, 1993, 1994, 1995, 1996 3*b636d99dSDavid van Moolenbroek * The Regents of the University of California. All rights reserved. 4*b636d99dSDavid van Moolenbroek * 5*b636d99dSDavid van Moolenbroek * Redistribution and use in source and binary forms, with or without 6*b636d99dSDavid van Moolenbroek * modification, are permitted provided that: (1) source code distributions 7*b636d99dSDavid van Moolenbroek * retain the above copyright notice and this paragraph in its entirety, (2) 8*b636d99dSDavid van Moolenbroek * distributions including binary code include the above copyright notice and 9*b636d99dSDavid van Moolenbroek * this paragraph in its entirety in the documentation or other materials 10*b636d99dSDavid van Moolenbroek * provided with the distribution, and (3) all advertising materials mentioning 11*b636d99dSDavid van Moolenbroek * features or use of this software display the following acknowledgement: 12*b636d99dSDavid van Moolenbroek * ``This product includes software developed by the University of California, 13*b636d99dSDavid van Moolenbroek * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of 14*b636d99dSDavid van Moolenbroek * the University nor the names of its contributors may be used to endorse 15*b636d99dSDavid van Moolenbroek * or promote products derived from this software without specific prior 16*b636d99dSDavid van Moolenbroek * written permission. 17*b636d99dSDavid van Moolenbroek * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED 18*b636d99dSDavid van Moolenbroek * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 19*b636d99dSDavid van Moolenbroek * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 20*b636d99dSDavid van Moolenbroek */ 21*b636d99dSDavid van Moolenbroek 22*b636d99dSDavid van Moolenbroek /* Prototypes missing in SunOS 4 */ 23*b636d99dSDavid van Moolenbroek #ifdef FILE 24*b636d99dSDavid van Moolenbroek int _filbuf(FILE *); 25*b636d99dSDavid van Moolenbroek int _flsbuf(u_char, FILE *); 26*b636d99dSDavid van Moolenbroek int fclose(FILE *); 27*b636d99dSDavid van Moolenbroek int fflush(FILE *); 28*b636d99dSDavid van Moolenbroek int fgetc(FILE *); 29*b636d99dSDavid van Moolenbroek int fprintf(FILE *, const char *, ...); 30*b636d99dSDavid van Moolenbroek int fputc(int, FILE *); 31*b636d99dSDavid van Moolenbroek int fputs(const char *, FILE *); 32*b636d99dSDavid van Moolenbroek u_int fread(void *, u_int, u_int, FILE *); 33*b636d99dSDavid van Moolenbroek int fseek(FILE *, long, int); 34*b636d99dSDavid van Moolenbroek u_int fwrite(const void *, u_int, u_int, FILE *); 35*b636d99dSDavid van Moolenbroek int pclose(FILE *); 36*b636d99dSDavid van Moolenbroek void rewind(FILE *); 37*b636d99dSDavid van Moolenbroek void setbuf(FILE *, char *); 38*b636d99dSDavid van Moolenbroek int setlinebuf(FILE *); 39*b636d99dSDavid van Moolenbroek int ungetc(int, FILE *); 40*b636d99dSDavid van Moolenbroek int vfprintf(FILE *, const char *, ...); 41*b636d99dSDavid van Moolenbroek int vprintf(const char *, ...); 42*b636d99dSDavid van Moolenbroek #endif 43*b636d99dSDavid van Moolenbroek 44*b636d99dSDavid van Moolenbroek #if __GNUC__ <= 1 45*b636d99dSDavid van Moolenbroek int read(int, char *, u_int); 46*b636d99dSDavid van Moolenbroek int write(int, char *, u_int); 47*b636d99dSDavid van Moolenbroek #endif 48*b636d99dSDavid van Moolenbroek 49*b636d99dSDavid van Moolenbroek long a64l(const char *); 50*b636d99dSDavid van Moolenbroek #ifdef __STDC__ 51*b636d99dSDavid van Moolenbroek struct sockaddr; 52*b636d99dSDavid van Moolenbroek #endif 53*b636d99dSDavid van Moolenbroek int accept(int, struct sockaddr *, int *); 54*b636d99dSDavid van Moolenbroek int bind(int, struct sockaddr *, int); 55*b636d99dSDavid van Moolenbroek int bcmp(const void *, const void *, u_int); 56*b636d99dSDavid van Moolenbroek void bcopy(const void *, void *, u_int); 57*b636d99dSDavid van Moolenbroek void bzero(void *, int); 58*b636d99dSDavid van Moolenbroek int chroot(const char *); 59*b636d99dSDavid van Moolenbroek int close(int); 60*b636d99dSDavid van Moolenbroek void closelog(void); 61*b636d99dSDavid van Moolenbroek int connect(int, struct sockaddr *, int); 62*b636d99dSDavid van Moolenbroek char *crypt(const char *, const char *); 63*b636d99dSDavid van Moolenbroek int daemon(int, int); 64*b636d99dSDavid van Moolenbroek int fchmod(int, int); 65*b636d99dSDavid van Moolenbroek int fchown(int, int, int); 66*b636d99dSDavid van Moolenbroek void endgrent(void); 67*b636d99dSDavid van Moolenbroek void endpwent(void); 68*b636d99dSDavid van Moolenbroek void endservent(void); 69*b636d99dSDavid van Moolenbroek #ifdef __STDC__ 70*b636d99dSDavid van Moolenbroek struct ether_addr; 71*b636d99dSDavid van Moolenbroek #endif 72*b636d99dSDavid van Moolenbroek struct ether_addr *ether_aton(const char *); 73*b636d99dSDavid van Moolenbroek int flock(int, int); 74*b636d99dSDavid van Moolenbroek #ifdef __STDC__ 75*b636d99dSDavid van Moolenbroek struct stat; 76*b636d99dSDavid van Moolenbroek #endif 77*b636d99dSDavid van Moolenbroek int fstat(int, struct stat *); 78*b636d99dSDavid van Moolenbroek #ifdef __STDC__ 79*b636d99dSDavid van Moolenbroek struct statfs; 80*b636d99dSDavid van Moolenbroek #endif 81*b636d99dSDavid van Moolenbroek int fstatfs(int, struct statfs *); 82*b636d99dSDavid van Moolenbroek int fsync(int); 83*b636d99dSDavid van Moolenbroek #ifdef __STDC__ 84*b636d99dSDavid van Moolenbroek struct timeb; 85*b636d99dSDavid van Moolenbroek #endif 86*b636d99dSDavid van Moolenbroek int ftime(struct timeb *); 87*b636d99dSDavid van Moolenbroek int ftruncate(int, off_t); 88*b636d99dSDavid van Moolenbroek int getdtablesize(void); 89*b636d99dSDavid van Moolenbroek long gethostid(void); 90*b636d99dSDavid van Moolenbroek int gethostname(char *, int); 91*b636d99dSDavid van Moolenbroek int getopt(int, char * const *, const char *); 92*b636d99dSDavid van Moolenbroek int getpagesize(void); 93*b636d99dSDavid van Moolenbroek char *getpass(char *); 94*b636d99dSDavid van Moolenbroek int getpeername(int, struct sockaddr *, int *); 95*b636d99dSDavid van Moolenbroek int getpriority(int, int); 96*b636d99dSDavid van Moolenbroek #ifdef __STDC__ 97*b636d99dSDavid van Moolenbroek struct rlimit; 98*b636d99dSDavid van Moolenbroek #endif 99*b636d99dSDavid van Moolenbroek int getrlimit(int, struct rlimit *); 100*b636d99dSDavid van Moolenbroek int getsockname(int, struct sockaddr *, int *); 101*b636d99dSDavid van Moolenbroek int getsockopt(int, int, int, char *, int *); 102*b636d99dSDavid van Moolenbroek #ifdef __STDC__ 103*b636d99dSDavid van Moolenbroek struct timeval; 104*b636d99dSDavid van Moolenbroek struct timezone; 105*b636d99dSDavid van Moolenbroek #endif 106*b636d99dSDavid van Moolenbroek int gettimeofday(struct timeval *, struct timezone *); 107*b636d99dSDavid van Moolenbroek char *getusershell(void); 108*b636d99dSDavid van Moolenbroek char *getwd(char *); 109*b636d99dSDavid van Moolenbroek int initgroups(const char *, int); 110*b636d99dSDavid van Moolenbroek int ioctl(int, int, caddr_t); 111*b636d99dSDavid van Moolenbroek int iruserok(u_long, int, char *, char *); 112*b636d99dSDavid van Moolenbroek int isatty(int); 113*b636d99dSDavid van Moolenbroek int killpg(int, int); 114*b636d99dSDavid van Moolenbroek int listen(int, int); 115*b636d99dSDavid van Moolenbroek #ifdef __STDC__ 116*b636d99dSDavid van Moolenbroek struct utmp; 117*b636d99dSDavid van Moolenbroek #endif 118*b636d99dSDavid van Moolenbroek void login(struct utmp *); 119*b636d99dSDavid van Moolenbroek int logout(const char *); 120*b636d99dSDavid van Moolenbroek off_t lseek(int, off_t, int); 121*b636d99dSDavid van Moolenbroek int lstat(const char *, struct stat *); 122*b636d99dSDavid van Moolenbroek int mkstemp(char *); 123*b636d99dSDavid van Moolenbroek char *mktemp(char *); 124*b636d99dSDavid van Moolenbroek int munmap(caddr_t, int); 125*b636d99dSDavid van Moolenbroek void openlog(const char *, int, int); 126*b636d99dSDavid van Moolenbroek void perror(const char *); 127*b636d99dSDavid van Moolenbroek int printf(const char *, ...); 128*b636d99dSDavid van Moolenbroek int puts(const char *); 129*b636d99dSDavid van Moolenbroek long random(void); 130*b636d99dSDavid van Moolenbroek int readlink(const char *, char *, int); 131*b636d99dSDavid van Moolenbroek #ifdef __STDC__ 132*b636d99dSDavid van Moolenbroek struct iovec; 133*b636d99dSDavid van Moolenbroek #endif 134*b636d99dSDavid van Moolenbroek int readv(int, struct iovec *, int); 135*b636d99dSDavid van Moolenbroek int recv(int, char *, u_int, int); 136*b636d99dSDavid van Moolenbroek int recvfrom(int, char *, u_int, int, struct sockaddr *, int *); 137*b636d99dSDavid van Moolenbroek int rename(const char *, const char *); 138*b636d99dSDavid van Moolenbroek int rcmd(char **, u_short, char *, char *, char *, int *); 139*b636d99dSDavid van Moolenbroek int rresvport(int *); 140*b636d99dSDavid van Moolenbroek int send(int, char *, u_int, int); 141*b636d99dSDavid van Moolenbroek int sendto(int, char *, u_int, int, struct sockaddr *, int); 142*b636d99dSDavid van Moolenbroek int setenv(const char *, const char *, int); 143*b636d99dSDavid van Moolenbroek int seteuid(int); 144*b636d99dSDavid van Moolenbroek int setpriority(int, int, int); 145*b636d99dSDavid van Moolenbroek int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); 146*b636d99dSDavid van Moolenbroek int setpgrp(int, int); 147*b636d99dSDavid van Moolenbroek void setpwent(void); 148*b636d99dSDavid van Moolenbroek int setrlimit(int, struct rlimit *); 149*b636d99dSDavid van Moolenbroek void setservent(int); 150*b636d99dSDavid van Moolenbroek int setsockopt(int, int, int, char *, int); 151*b636d99dSDavid van Moolenbroek int shutdown(int, int); 152*b636d99dSDavid van Moolenbroek int sigblock(int); 153*b636d99dSDavid van Moolenbroek void (*signal (int, void (*) (int))) (int); 154*b636d99dSDavid van Moolenbroek int sigpause(int); 155*b636d99dSDavid van Moolenbroek int sigsetmask(int); 156*b636d99dSDavid van Moolenbroek #ifdef __STDC__ 157*b636d99dSDavid van Moolenbroek struct sigvec; 158*b636d99dSDavid van Moolenbroek #endif 159*b636d99dSDavid van Moolenbroek int sigvec(int, struct sigvec *, struct sigvec*); 160*b636d99dSDavid van Moolenbroek int snprintf(char *, size_t, const char *, ...); 161*b636d99dSDavid van Moolenbroek int socket(int, int, int); 162*b636d99dSDavid van Moolenbroek int socketpair(int, int, int, int *); 163*b636d99dSDavid van Moolenbroek int symlink(const char *, const char *); 164*b636d99dSDavid van Moolenbroek void srandom(int); 165*b636d99dSDavid van Moolenbroek int sscanf(char *, const char *, ...); 166*b636d99dSDavid van Moolenbroek int stat(const char *, struct stat *); 167*b636d99dSDavid van Moolenbroek int statfs(char *, struct statfs *); 168*b636d99dSDavid van Moolenbroek char *strerror(int); 169*b636d99dSDavid van Moolenbroek int strcasecmp(const char *, const char *); 170*b636d99dSDavid van Moolenbroek #ifdef __STDC__ 171*b636d99dSDavid van Moolenbroek struct tm; 172*b636d99dSDavid van Moolenbroek #endif 173*b636d99dSDavid van Moolenbroek int strftime(char *, int, char *, struct tm *); 174*b636d99dSDavid van Moolenbroek int strncasecmp(const char *, const char *, int); 175*b636d99dSDavid van Moolenbroek long strtol(const char *, char **, int); 176*b636d99dSDavid van Moolenbroek void sync(void); 177*b636d99dSDavid van Moolenbroek void syslog(int, const char *, ...); 178*b636d99dSDavid van Moolenbroek int system(const char *); 179*b636d99dSDavid van Moolenbroek long tell(int); 180*b636d99dSDavid van Moolenbroek time_t time(time_t *); 181*b636d99dSDavid van Moolenbroek char *timezone(int, int); 182*b636d99dSDavid van Moolenbroek int tolower(int); 183*b636d99dSDavid van Moolenbroek int toupper(int); 184*b636d99dSDavid van Moolenbroek int truncate(char *, off_t); 185*b636d99dSDavid van Moolenbroek void unsetenv(const char *); 186*b636d99dSDavid van Moolenbroek int vfork(void); 187*b636d99dSDavid van Moolenbroek int vsprintf(char *, const char *, ...); 188*b636d99dSDavid van Moolenbroek int writev(int, struct iovec *, int); 189*b636d99dSDavid van Moolenbroek #ifdef __STDC__ 190*b636d99dSDavid van Moolenbroek struct rusage; 191*b636d99dSDavid van Moolenbroek #endif 192*b636d99dSDavid van Moolenbroek int utimes(const char *, struct timeval *); 193*b636d99dSDavid van Moolenbroek #if __GNUC__ <= 1 194*b636d99dSDavid van Moolenbroek int wait(int *); 195*b636d99dSDavid van Moolenbroek pid_t wait3(int *, int, struct rusage *); 196*b636d99dSDavid van Moolenbroek #endif 197*b636d99dSDavid van Moolenbroek 198*b636d99dSDavid van Moolenbroek /* Ugly signal hacking */ 199*b636d99dSDavid van Moolenbroek #ifdef SIG_ERR 200*b636d99dSDavid van Moolenbroek #undef SIG_ERR 201*b636d99dSDavid van Moolenbroek #define SIG_ERR (void (*)(int))-1 202*b636d99dSDavid van Moolenbroek #undef SIG_DFL 203*b636d99dSDavid van Moolenbroek #define SIG_DFL (void (*)(int))0 204*b636d99dSDavid van Moolenbroek #undef SIG_IGN 205*b636d99dSDavid van Moolenbroek #define SIG_IGN (void (*)(int))1 206*b636d99dSDavid van Moolenbroek 207*b636d99dSDavid van Moolenbroek #ifdef KERNEL 208*b636d99dSDavid van Moolenbroek #undef SIG_CATCH 209*b636d99dSDavid van Moolenbroek #define SIG_CATCH (void (*)(int))2 210*b636d99dSDavid van Moolenbroek #endif 211*b636d99dSDavid van Moolenbroek #undef SIG_HOLD 212*b636d99dSDavid van Moolenbroek #define SIG_HOLD (void (*)(int))3 213*b636d99dSDavid van Moolenbroek #endif 214