/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef pr_sunos4_h___ #define pr_sunos4_h___ #ifndef SVR4 /* ** Hodge podge of random missing prototypes for the Sunos4 system */ #include #include #include #include #include #define PATH_MAX _POSIX_PATH_MAX struct timeval; struct timezone; struct itimerval; struct sockaddr; struct stat; struct tm; /* ctype.h */ extern int tolower(int); extern int toupper(int); /* errno.h */ extern char *sys_errlist[]; extern int sys_nerr; #define strerror(e) sys_errlist[((unsigned)(e) < sys_nerr) ? e : 0] extern void perror(const char *); /* getopt */ extern char *optarg; extern int optind; extern int getopt(int argc, char **argv, char *spec); /* math.h */ extern int srandom(long val); extern long random(void); /* memory.h */ #define memmove(to,from,len) bcopy((char*)(from),(char*)(to),len) extern void bcopy(const char *, char *, int); /* signal.h */ /* ** SunOS4 sigaction hides interrupts by default, so we can safely define ** SA_RESTART to 0 (HP-UX is a counter-example -- its sigaction does not ** hide interrupts but lacks an SA_RESTART option; you must use sigvector ** and tweak the sigcontext from within each signal handler!). */ #define SA_RESTART 0 #define SA_SIGINFO 0 /* stdio.h */ extern int printf(const char *, ...); extern int fprintf(FILE *, const char *, ...); extern int vprintf(const char *, va_list); extern int vfprintf(FILE *, const char *, va_list); extern char *vsprintf(char *, const char *, va_list); extern int scanf(const char *, ...); extern int sscanf(const char *, const char *, ...); extern int fscanf(FILE *, const char *, ...); extern int fgetc(FILE *); extern int fputc(int, FILE *); extern int fputs(const char *, FILE *); extern int puts(const char *); extern int fread(void *, size_t, size_t, FILE *); extern int fwrite(const char *, int, int, FILE *); extern int fseek(FILE *, long, int); extern long ftell(FILE *); extern int rewind(FILE *); extern int fflush(FILE *); extern int _flsbuf(unsigned char, FILE *); extern int fclose(FILE *); extern int remove(const char *); extern int setvbuf(FILE *, char *, int, size_t); extern int system(const char *); extern FILE *popen(const char *, const char *); extern int pclose(FILE *); /* stdlib.h */ #define strtoul strtol extern int isatty(int fildes); extern long strtol(const char *, char **, int); extern int putenv(const char *); extern void srand48(long); extern long lrand48(void); extern double drand48(void); /* string.h */ extern int strcasecmp(const char *, const char *); extern int strncasecmp(const char *, const char *, size_t); extern int strcoll(const char *, const char *); /* time.h */ extern time_t mktime(struct tm *); extern size_t strftime(char *, size_t, const char *, const struct tm *); extern int gettimeofday(struct timeval *, struct timezone *); extern int setitimer(int, struct itimerval *, struct itimerval *); extern time_t time(time_t *); extern time_t timegm(struct tm *); extern struct tm *localtime(const time_t *); extern struct tm *gmtime(const time_t *); /* unistd.h */ extern int rename(const char *, const char *); extern int ioctl(int, int, int *arg); extern int connect(int, struct sockaddr *, int); extern int readlink(const char *, char *, int); extern int symlink(const char *, const char *); extern int ftruncate(int, off_t); extern int fchmod(int, mode_t); extern int fchown(int, uid_t, gid_t); extern int lstat(const char *, struct stat *); extern int fstat(int, struct stat *); extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); extern int gethostname(char *, int); extern char *getwd(char *); extern int getpagesize(void); #endif /* SVR4 */ #endif /* pr_sunos4_h___ */