1 /* @(#)sunos4_proto.h 1.3 13/09/14 Copyright 2013 J. Schilling */ 2 /* 3 * Prototypes for POSIX standard functions that are missing on SunOS-4.x. 4 * 5 * Copyright (c) 2013 J. Schilling 6 */ 7 /* 8 * The contents of this file are subject to the terms of the 9 * Common Development and Distribution License, Version 1.0 only 10 * (the "License"). You may not use this file except in compliance 11 * with the License. 12 * 13 * See the file CDDL.Schily.txt in this distribution for details. 14 * A copy of the CDDL is also available via the Internet at 15 * http://www.opensource.org/licenses/cddl1.txt 16 * 17 * When distributing Covered Code, include this CDDL HEADER in each 18 * file and include the License file CDDL.Schily.txt from this distribution. 19 */ 20 21 22 #ifndef _SCHILY_SUNOS4_PROTO_H 23 #define _SCHILY_SUNOS4_PROTO_H 24 25 #ifndef _SCHILY_MCONFIG_H 26 #include <schily/mconfig.h> 27 #endif 28 29 #ifdef __cplusplus 30 extern "C" { 31 #endif 32 33 /* 34 * ctype.h 35 */ 36 #if defined(_SCHILY_CTYPE_H) || defined(_SCHILY_WCTYPE_H) 37 extern int tolower __PR((int __c)); 38 extern int toupper __PR((int __c)); 39 #endif 40 41 /* 42 * pwd.h 43 */ 44 #ifdef _SCHILY_PWD_H 45 extern void endpwent __PR((void)); 46 #endif 47 48 /* 49 * poll.h 50 */ 51 /*#ifdef _sys_poll_h*/ 52 #ifdef _SCHILY_POLL_H 53 extern int poll __PR((struct pollfd __fds[], unsigned long __nfds, int __timeout)); 54 #endif 55 56 /* 57 * schily/hostname.h 58 */ 59 #ifdef _SCHILY_HOSTNAME_H 60 extern int gethostname __PR((char *name, int namelen)); 61 extern int getdomainname __PR((char *name, int namelen)); 62 #endif 63 64 /* 65 * signal.h 66 */ 67 #ifdef _SCHILY_SIGNAL_H 68 extern int killpg __PR((pid_t __pgrp, int __sig)); 69 extern int sigvec __PR((int __sig, struct sigvec *__nvec, struct sigvec *__ovec)); 70 #endif 71 72 /* 73 * stdio.h 74 */ 75 #ifdef _INCL_STDIO_H 76 extern int fclose __PR((FILE *__stream)); 77 /* 78 * XXX libshedit contains #define fflush(a) (0) that would cause a syntax error 79 * XXX on a K&R compiler. 80 */ 81 #ifndef fflush 82 extern int fflush __PR((FILE *__stream)); 83 #endif 84 extern int fgetc __PR((FILE *__stream)); 85 extern int _filbuf __PR((FILE *__stream)); 86 extern int _flsbuf __PR((int __c, FILE *__stream)); 87 extern int fputc __PR((int __c, FILE *__stream)); 88 extern int fputs __PR((const char *__s, FILE *__stream)); 89 extern int fprintf __PR((FILE *__stream, const char * __format, ...)); 90 extern size_t fread __PR((void *__ptr, size_t __size, size_t __nitems, FILE *__stream)); 91 extern int fseek __PR((FILE *__stream, long __offset, int __whence)); 92 extern size_t fwrite __PR((void *__ptr, size_t __size, size_t __nitems, FILE *__stream)); 93 extern int pclose __PR((FILE *__stream)); 94 extern void rewind __PR((FILE *__stream)); 95 extern void setbuf __PR((FILE *__stream, char *__buf)); 96 extern int setvbuf __PR((FILE *__stream, char *__buf, int __type, size_t __size)); 97 extern int scanf __PR((const char * __format, ...)); 98 extern int sscanf __PR((const char * __s, const char * __format, ...)); 99 extern int ungetc __PR((int __c, FILE *__stream)); 100 #ifdef _SCHILY_VARARGS_H 101 extern int vfprintf __PR((FILE *__stream, const char *__format, va_list __ap)); 102 #endif 103 extern void perror __PR((const char *__s)); 104 extern int printf __PR((const char * __format, ...)); 105 106 /* Kommt von libschily */ 107 /*PRINTFLIKE3*/ 108 extern int snprintf __PR((char * __s, size_t __n, 109 const char * __format, /* args*/ ...)) 110 __printflike__(3, 4); 111 #endif 112 113 /* 114 * stdlib.h 115 */ 116 #ifdef _INCL_STDLIB_H 117 /* 118 * XXX cdda2wav includes a #define atexit(f) on_exit(f, 0) that 119 * XXX would cause syntax errors with the next prototype on a K&R compiler. 120 */ 121 #ifndef atexit 122 extern int atexit __PR((void (*__func)(void))); 123 #endif 124 extern int on_exit __PR((void (*__procp)(void), caddr_t __arg)); 125 extern char * ecvt __PR((double __value, int __ndigit, int * __decpt, int * __sign)); 126 /* 127 * XXX Sun has extern int free(), but GCC has extern void free() in stdlib.h 128 */ 129 /*extern void free __PR((void *__ptr));*/ 130 extern char * fcvt __PR((double __value, int __ndigit, int * __decpt, int * __sign)); 131 extern char * gcvt __PR((double __value, int __ndigit, char * __buf)); 132 extern int mkstemp __PR((char *__template)); 133 extern char * mktemp __PR((char *__template)); 134 extern int putenv __PR((char *__string)); 135 extern long strtol __PR((const char * __str, char ** __endptr, int __base)); 136 extern int system __PR((const char *_string)); 137 extern void * valloc __PR((size_t __size)); 138 #endif 139 140 /* 141 * string.h 142 */ 143 #ifdef _SCHILY_STRING_H 144 extern void * memchr __PR((const void *__s, int __c, size_t __n)); 145 extern int strcoll __PR((const char *__s1, const char *__s2)); 146 extern int strncasecmp __PR((const char *__s1, const char *__s2, size_t __n)); 147 148 /* 149 * strings.h 150 */ 151 extern void bcopy __PR((const void *__s1, void *__s2, size_t __n)); 152 extern void bzero __PR((void *__s, size_t __n)); 153 #endif 154 155 /* 156 * sys/file.h 157 */ 158 #ifdef _SCHILY_FCNTL_H 159 extern int flock __PR((int __fd, int __operation)); 160 #endif 161 162 /* 163 * sys/mman.h 164 */ 165 #ifdef _SCHILY_MMAN_H 166 extern int mlock __PR((caddr_t __addr, size_t __len)); 167 extern int mlockall __PR((int __flags)); 168 #endif 169 170 /* 171 * sys/resource.h 172 */ 173 #ifdef _SCHILY_RESOURCE_H 174 extern int getrlimit __PR((int __resource, struct rlimit *__rlp)); 175 extern int setrlimit __PR((int __resource, const struct rlimit *__rlp)); 176 extern int getrusage __PR((int __who, struct rusage *__r_usage)); 177 extern int getpriority __PR((int __which, int __who)); 178 extern int setpriority __PR((int _which, int __who, int __value)); 179 180 extern pid_t wait3 __PR((int *__statusp, int __options, struct rusage *__rusage)); 181 #endif 182 183 /* 184 * sys/shm.h 185 */ 186 #ifdef _SCHILY_SHM_H 187 extern void * shmat __PR((int __shmid, const void *__shmaddr, int __shmflg)); 188 extern int shmctl __PR((int __shmid, int __cmd, struct shmid_ds *__buf)); 189 extern int shmget __PR((key_t __key, size_t __size, int __shmflg)); 190 #endif 191 192 /* 193 * sys/socket.h 194 */ 195 #ifdef _SCHILY_SOCKET_H 196 extern int connect __PR((int __s, const struct sockaddr *__name, int __namelen)); 197 extern int socket __PR((int __domain, int __type, int __protocol)); 198 extern int getsockopt __PR((int __s, int __level, int __optname, void *__optval, 199 int *__optlen)); 200 extern int setsockopt __PR((int __s, int __level, int __optname, const void *__optval, 201 int __optlen)); 202 extern int getpeername __PR((int __s, struct sockaddr *__name, socklen_t *__namelen)); 203 extern int socketpair __PR((int __domain, int __type, int __protocol, int __sv[2])); 204 #endif 205 206 /* 207 * sys/stat.h 208 */ 209 #ifdef _INCL_SYS_STAT_H 210 extern int stat __PR((const char * __path, struct stat * __buf)); 211 extern int lstat __PR((const char * __path, struct stat * __buf)); 212 extern int fchmod __PR((int __fildes, mode_t __mode)); 213 extern int fstat __PR((int __filedes, struct stat * __buf)); 214 extern int mknod __PR((const char *__path, mode_t __mode, dev_t __dev)); 215 #endif 216 217 /* 218 * sys/time.h 219 */ 220 #ifdef _INCL_SYS_TIME_H 221 extern int gettimeofday __PR((struct timeval *__tp, void *__tzp)); 222 extern int settimeofday __PR((struct timeval *__tp, void *__tzp)); 223 extern int utimes __PR((const char *__path, const struct timeval __times[2])); 224 extern int select __PR((int __nfds, fd_set * __readfds, fd_set * __writefds, 225 fd_set * __errorfds, 226 struct timeval * __timeout)); 227 228 #endif 229 230 /* 231 * sys/timeb.h 232 */ 233 #ifdef _sys_timeb_h 234 extern int ftime __PR((struct timeb *__tp)); 235 #endif 236 237 /* 238 * time.h 239 */ 240 #ifdef _SCHILY_TIME_H 241 extern clock_t clock __PR((void)); 242 extern time_t mktime __PR((struct tm *__timeptr)); 243 extern size_t strftime __PR((char * _s, size_t _maxsize, 244 const char * __format, 245 const struct tm * __timeptr)); 246 extern time_t time __PR((time_t *__tloc)); 247 #endif 248 249 /* 250 * unistd.h 251 */ 252 #ifdef _SCHILY_UNISTD_H 253 /*extern int chdir __PR((const char *__path));*/ 254 extern int fchdir __PR((int __fildes)); 255 extern int fsync __PR((int __fildes)); 256 extern int getdtablesize __PR((void)); 257 extern long gethostid __PR((void)); 258 extern int getopt __PR((int __argc, char * const __argv[], const char *__optstring)); 259 extern int ioctl __PR((int __fildes, int __request, /* arg */ ...)); 260 extern int lockf __PR((int __fildes, int __function, off_t __size)); 261 extern int rcmd __PR((char **__ahost, unsigned short __inport, const char *__luser, 262 const char *__ruser, const char *__cmd, int *__fd2p)); 263 extern ssize_t readlink __PR((const char * __path, char * __buf, size_t __bufsiz)); 264 extern int rename __PR((const char *__old, const char *__new)); 265 extern int setreuid __PR((uid_t __ruid, uid_t __euid)); 266 extern int seteuid __PR((uid_t __euid)); 267 extern int setegid __PR((gid_t __egid)); 268 269 extern int symlink __PR((const char *__name1, const char *__name2)); 270 extern void sync __PR((void)); 271 272 extern int truncate __PR((const char *__path, off_t __length)); 273 extern int ftruncate __PR((int __fildes, off_t __length)); 274 275 extern int brk __PR((void *__endds)); 276 /*extern void * sbrk __PR((intptr_t __incr));*/ 277 extern void * sbrk __PR((Intptr_t __incr)); 278 279 /*extern int usleep __PR((useconds_t __useconds));*/ 280 extern int usleep __PR((unsigned __useconds)); 281 #endif 282 283 #ifdef __cplusplus 284 } 285 #endif 286 287 #endif /* _SCHILY_SUNOS4_PROTO_H */ 288