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