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