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