14edb46e9SPaul Traina /* 24edb46e9SPaul Traina * Copyright (c) 1989, 1990, 1993, 1994, 1995, 1996 34edb46e9SPaul Traina * The Regents of the University of California. All rights reserved. 44edb46e9SPaul Traina * 54edb46e9SPaul Traina * Redistribution and use in source and binary forms, with or without 64edb46e9SPaul Traina * modification, are permitted provided that: (1) source code distributions 74edb46e9SPaul Traina * retain the above copyright notice and this paragraph in its entirety, (2) 84edb46e9SPaul Traina * distributions including binary code include the above copyright notice and 94edb46e9SPaul Traina * this paragraph in its entirety in the documentation or other materials 104edb46e9SPaul Traina * provided with the distribution, and (3) all advertising materials mentioning 114edb46e9SPaul Traina * features or use of this software display the following acknowledgement: 124edb46e9SPaul Traina * ``This product includes software developed by the University of California, 134edb46e9SPaul Traina * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of 144edb46e9SPaul Traina * the University nor the names of its contributors may be used to endorse 154edb46e9SPaul Traina * or promote products derived from this software without specific prior 164edb46e9SPaul Traina * written permission. 174edb46e9SPaul Traina * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED 184edb46e9SPaul Traina * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 194edb46e9SPaul Traina * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 204edb46e9SPaul Traina */ 214edb46e9SPaul Traina 224edb46e9SPaul Traina /* Prototypes missing in SunOS 4 */ 234edb46e9SPaul Traina #ifdef FILE 244edb46e9SPaul Traina int _filbuf(FILE *); 254edb46e9SPaul Traina int _flsbuf(u_char, FILE *); 264edb46e9SPaul Traina int fclose(FILE *); 274edb46e9SPaul Traina int fflush(FILE *); 284edb46e9SPaul Traina int fgetc(FILE *); 294edb46e9SPaul Traina int fprintf(FILE *, const char *, ...); 304edb46e9SPaul Traina int fputc(int, FILE *); 314edb46e9SPaul Traina int fputs(const char *, FILE *); 324edb46e9SPaul Traina u_int fread(void *, u_int, u_int, FILE *); 334edb46e9SPaul Traina int fseek(FILE *, long, int); 344edb46e9SPaul Traina u_int fwrite(const void *, u_int, u_int, FILE *); 354edb46e9SPaul Traina int pclose(FILE *); 364edb46e9SPaul Traina void rewind(FILE *); 374edb46e9SPaul Traina void setbuf(FILE *, char *); 384edb46e9SPaul Traina int setlinebuf(FILE *); 394edb46e9SPaul Traina int ungetc(int, FILE *); 404edb46e9SPaul Traina int vfprintf(FILE *, const char *, ...); 414edb46e9SPaul Traina int vprintf(const char *, ...); 424edb46e9SPaul Traina #endif 434edb46e9SPaul Traina 444edb46e9SPaul Traina #if __GNUC__ <= 1 454edb46e9SPaul Traina int read(int, char *, u_int); 464edb46e9SPaul Traina int write(int, char *, u_int); 474edb46e9SPaul Traina #endif 484edb46e9SPaul Traina 494edb46e9SPaul Traina long a64l(const char *); 504edb46e9SPaul Traina #ifdef __STDC__ 514edb46e9SPaul Traina struct sockaddr; 524edb46e9SPaul Traina #endif 534edb46e9SPaul Traina int accept(int, struct sockaddr *, int *); 544edb46e9SPaul Traina int bind(int, struct sockaddr *, int); 554edb46e9SPaul Traina int bcmp(const void *, const void *, u_int); 564edb46e9SPaul Traina void bcopy(const void *, void *, u_int); 574edb46e9SPaul Traina void bzero(void *, int); 584edb46e9SPaul Traina int chroot(const char *); 594edb46e9SPaul Traina int close(int); 604edb46e9SPaul Traina void closelog(void); 614edb46e9SPaul Traina int connect(int, struct sockaddr *, int); 624edb46e9SPaul Traina char *crypt(const char *, const char *); 634edb46e9SPaul Traina int daemon(int, int); 644edb46e9SPaul Traina int fchmod(int, int); 654edb46e9SPaul Traina int fchown(int, int, int); 664edb46e9SPaul Traina void endgrent(void); 674edb46e9SPaul Traina void endpwent(void); 684edb46e9SPaul Traina void endservent(void); 694edb46e9SPaul Traina #ifdef __STDC__ 704edb46e9SPaul Traina struct ether_addr; 714edb46e9SPaul Traina #endif 724edb46e9SPaul Traina struct ether_addr *ether_aton(const char *); 734edb46e9SPaul Traina int flock(int, int); 744edb46e9SPaul Traina #ifdef __STDC__ 754edb46e9SPaul Traina struct stat; 764edb46e9SPaul Traina #endif 774edb46e9SPaul Traina int fstat(int, struct stat *); 784edb46e9SPaul Traina #ifdef __STDC__ 794edb46e9SPaul Traina struct statfs; 804edb46e9SPaul Traina #endif 814edb46e9SPaul Traina int fstatfs(int, struct statfs *); 824edb46e9SPaul Traina int fsync(int); 834edb46e9SPaul Traina #ifdef __STDC__ 844edb46e9SPaul Traina struct timeb; 854edb46e9SPaul Traina #endif 864edb46e9SPaul Traina int ftime(struct timeb *); 874edb46e9SPaul Traina int ftruncate(int, off_t); 884edb46e9SPaul Traina int getdtablesize(void); 894edb46e9SPaul Traina long gethostid(void); 904edb46e9SPaul Traina int gethostname(char *, int); 914edb46e9SPaul Traina int getopt(int, char * const *, const char *); 924edb46e9SPaul Traina int getpagesize(void); 934edb46e9SPaul Traina char *getpass(char *); 944edb46e9SPaul Traina int getpeername(int, struct sockaddr *, int *); 954edb46e9SPaul Traina int getpriority(int, int); 964edb46e9SPaul Traina #ifdef __STDC__ 974edb46e9SPaul Traina struct rlimit; 984edb46e9SPaul Traina #endif 994edb46e9SPaul Traina int getrlimit(int, struct rlimit *); 1004edb46e9SPaul Traina int getsockname(int, struct sockaddr *, int *); 1014edb46e9SPaul Traina int getsockopt(int, int, int, char *, int *); 1024edb46e9SPaul Traina #ifdef __STDC__ 1034edb46e9SPaul Traina struct timeval; 1044edb46e9SPaul Traina struct timezone; 1054edb46e9SPaul Traina #endif 1064edb46e9SPaul Traina int gettimeofday(struct timeval *, struct timezone *); 1074edb46e9SPaul Traina char *getusershell(void); 1084edb46e9SPaul Traina char *getwd(char *); 1094edb46e9SPaul Traina int initgroups(const char *, int); 1104edb46e9SPaul Traina int ioctl(int, int, caddr_t); 1114edb46e9SPaul Traina int iruserok(u_long, int, char *, char *); 1124edb46e9SPaul Traina int isatty(int); 1134edb46e9SPaul Traina int killpg(int, int); 1144edb46e9SPaul Traina int listen(int, int); 1154edb46e9SPaul Traina #ifdef __STDC__ 1164edb46e9SPaul Traina struct utmp; 1174edb46e9SPaul Traina #endif 1184edb46e9SPaul Traina void login(struct utmp *); 1194edb46e9SPaul Traina int logout(const char *); 1204edb46e9SPaul Traina off_t lseek(int, off_t, int); 1214edb46e9SPaul Traina int lstat(const char *, struct stat *); 1224edb46e9SPaul Traina int mkstemp(char *); 1234edb46e9SPaul Traina char *mktemp(char *); 1244edb46e9SPaul Traina int munmap(caddr_t, int); 1254edb46e9SPaul Traina void openlog(const char *, int, int); 1264edb46e9SPaul Traina void perror(const char *); 1274edb46e9SPaul Traina int printf(const char *, ...); 1284edb46e9SPaul Traina int puts(const char *); 1294edb46e9SPaul Traina long random(void); 1304edb46e9SPaul Traina int readlink(const char *, char *, int); 1314edb46e9SPaul Traina #ifdef __STDC__ 1324edb46e9SPaul Traina struct iovec; 1334edb46e9SPaul Traina #endif 1344edb46e9SPaul Traina int readv(int, struct iovec *, int); 1354edb46e9SPaul Traina int recv(int, char *, u_int, int); 1364edb46e9SPaul Traina int recvfrom(int, char *, u_int, int, struct sockaddr *, int *); 1374edb46e9SPaul Traina int rename(const char *, const char *); 1384edb46e9SPaul Traina int rcmd(char **, u_short, char *, char *, char *, int *); 1394edb46e9SPaul Traina int rresvport(int *); 1404edb46e9SPaul Traina int send(int, char *, u_int, int); 1414edb46e9SPaul Traina int sendto(int, char *, u_int, int, struct sockaddr *, int); 1424edb46e9SPaul Traina int setenv(const char *, const char *, int); 1434edb46e9SPaul Traina int seteuid(int); 1444edb46e9SPaul Traina int setpriority(int, int, int); 1454edb46e9SPaul Traina int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); 1464edb46e9SPaul Traina int setpgrp(int, int); 1474edb46e9SPaul Traina void setpwent(void); 1484edb46e9SPaul Traina int setrlimit(int, struct rlimit *); 1494edb46e9SPaul Traina void setservent(int); 1504edb46e9SPaul Traina int setsockopt(int, int, int, char *, int); 1514edb46e9SPaul Traina int shutdown(int, int); 1524edb46e9SPaul Traina int sigblock(int); 1534edb46e9SPaul Traina void (*signal (int, void (*) (int))) (int); 1544edb46e9SPaul Traina int sigpause(int); 1554edb46e9SPaul Traina int sigsetmask(int); 1564edb46e9SPaul Traina #ifdef __STDC__ 1574edb46e9SPaul Traina struct sigvec; 1584edb46e9SPaul Traina #endif 1594edb46e9SPaul Traina int sigvec(int, struct sigvec *, struct sigvec*); 1604edb46e9SPaul Traina int snprintf(char *, size_t, const char *, ...); 1614edb46e9SPaul Traina int socket(int, int, int); 1624edb46e9SPaul Traina int socketpair(int, int, int, int *); 1634edb46e9SPaul Traina int symlink(const char *, const char *); 1644edb46e9SPaul Traina void srandom(int); 1654edb46e9SPaul Traina int sscanf(char *, const char *, ...); 1664edb46e9SPaul Traina int stat(const char *, struct stat *); 1674edb46e9SPaul Traina int statfs(char *, struct statfs *); 1684edb46e9SPaul Traina char *strerror(int); 1694edb46e9SPaul Traina #ifdef __STDC__ 1704edb46e9SPaul Traina struct tm; 1714edb46e9SPaul Traina #endif 1724edb46e9SPaul Traina int strftime(char *, int, char *, struct tm *); 1734edb46e9SPaul Traina long strtol(const char *, char **, int); 1744edb46e9SPaul Traina void sync(void); 1754edb46e9SPaul Traina void syslog(int, const char *, ...); 1764edb46e9SPaul Traina int system(const char *); 1774edb46e9SPaul Traina long tell(int); 1784edb46e9SPaul Traina time_t time(time_t *); 1794edb46e9SPaul Traina char *timezone(int, int); 1804edb46e9SPaul Traina int tolower(int); 1814edb46e9SPaul Traina int toupper(int); 1824edb46e9SPaul Traina int truncate(char *, off_t); 1834edb46e9SPaul Traina void unsetenv(const char *); 1844edb46e9SPaul Traina int vfork(void); 1854edb46e9SPaul Traina int vsprintf(char *, const char *, ...); 1864edb46e9SPaul Traina int writev(int, struct iovec *, int); 1874edb46e9SPaul Traina #ifdef __STDC__ 1884edb46e9SPaul Traina struct rusage; 1894edb46e9SPaul Traina #endif 1904edb46e9SPaul Traina int utimes(const char *, struct timeval *); 1914edb46e9SPaul Traina #if __GNUC__ <= 1 1924edb46e9SPaul Traina int wait(int *); 1934edb46e9SPaul Traina pid_t wait3(int *, int, struct rusage *); 1944edb46e9SPaul Traina #endif 1954edb46e9SPaul Traina 1964edb46e9SPaul Traina /* Ugly signal hacking */ 1974edb46e9SPaul Traina #ifdef SIG_ERR 1984edb46e9SPaul Traina #undef SIG_ERR 1994edb46e9SPaul Traina #define SIG_ERR (void (*)(int))-1 2004edb46e9SPaul Traina #undef SIG_DFL 2014edb46e9SPaul Traina #define SIG_DFL (void (*)(int))0 2024edb46e9SPaul Traina #undef SIG_IGN 2034edb46e9SPaul Traina #define SIG_IGN (void (*)(int))1 2044edb46e9SPaul Traina 2054edb46e9SPaul Traina #ifdef KERNEL 2064edb46e9SPaul Traina #undef SIG_CATCH 2074edb46e9SPaul Traina #define SIG_CATCH (void (*)(int))2 2084edb46e9SPaul Traina #endif 2094edb46e9SPaul Traina #undef SIG_HOLD 2104edb46e9SPaul Traina #define SIG_HOLD (void (*)(int))3 2114edb46e9SPaul Traina #endif 212