1*b30d1939SAndy Fiddamanset prototyped 2*b30d1939SAndy Fiddamaniff AST_SYS 3*b30d1939SAndy Fiddamanref -D_def_map_ast 4*b30d1939SAndy Fiddaman 5*b30d1939SAndy Fiddamanprint #if __mips == 2 && !defined(_NO_LARGEFILE64_SOURCE) 6*b30d1939SAndy Fiddamanprint #define _NO_LARGEFILE64_SOURCE 1 7*b30d1939SAndy Fiddamanprint #endif 8*b30d1939SAndy Fiddamanprint #if !defined(_NO_LARGEFILE64_SOURCE) && _typ_off64_t && _lib_lseek64 && _lib_stat64 9*b30d1939SAndy Fiddamanprint #if !defined(_LARGEFILE64_SOURCE) 10*b30d1939SAndy Fiddamanprint #define _LARGEFILE64_SOURCE 1 11*b30d1939SAndy Fiddamanprint #endif 12*b30d1939SAndy Fiddamanprint #if !defined(_LARGEFILE_SOURCE) 13*b30d1939SAndy Fiddamanprint #define _LARGEFILE_SOURCE 1 14*b30d1939SAndy Fiddamanprint #endif 15*b30d1939SAndy Fiddamanprint #if !defined(_LARGE_FILE_API) 16*b30d1939SAndy Fiddamanprint #define _LARGE_FILE_API 1 17*b30d1939SAndy Fiddamanprint #endif 18*b30d1939SAndy Fiddamanprint #else 19*b30d1939SAndy Fiddamanprint #undef _LARGEFILE64_SOURCE 20*b30d1939SAndy Fiddamanprint #undef _LARGEFILE_SOURCE 21*b30d1939SAndy Fiddamanprint #undef _LARGE_FILE_API 22*b30d1939SAndy Fiddamanprint #undef _typ_ino64_t 23*b30d1939SAndy Fiddamanprint #undef _typ_off64_t 24*b30d1939SAndy Fiddamanprint #undef _typ_struct_dirent64 25*b30d1939SAndy Fiddamanprint #undef _lib_creat64 26*b30d1939SAndy Fiddamanprint #undef _lib_fstat64 27*b30d1939SAndy Fiddamanprint #undef _lib_fstatvfs64 28*b30d1939SAndy Fiddamanprint #undef _lib_ftruncate64 29*b30d1939SAndy Fiddamanprint #undef _lib_lseek64 30*b30d1939SAndy Fiddamanprint #undef _lib_lstat64 31*b30d1939SAndy Fiddamanprint #undef _lib_mmap64 32*b30d1939SAndy Fiddamanprint #undef _lib_open64 33*b30d1939SAndy Fiddamanprint #undef _lib_readdir64 34*b30d1939SAndy Fiddamanprint #undef _lib_stat64 35*b30d1939SAndy Fiddamanprint #undef _lib_statvfs64 36*b30d1939SAndy Fiddamanprint #undef _lib_truncate64 37*b30d1939SAndy Fiddamanprint #endif 38*b30d1939SAndy Fiddamanprint #if !_lib_readdir64 39*b30d1939SAndy Fiddamanprint #undef _typ_ino64_t 40*b30d1939SAndy Fiddamanprint #endif 41*b30d1939SAndy Fiddaman 42*b30d1939SAndy Fiddamanprint #if defined(__STDC__) && !defined(__USE_FIXED_PROTOTYPES__) 43*b30d1939SAndy Fiddamanprint #define __USE_FIXED_PROTOTYPES__ 1 /* kick gcc out of the past */ 44*b30d1939SAndy Fiddamanprint #endif 45*b30d1939SAndy Fiddaman 46*b30d1939SAndy Fiddamanheader stdlib.h 47*b30d1939SAndy Fiddamanheader stddef.h 48*b30d1939SAndy Fiddamanheader sys/types.h 49*b30d1939SAndy Fiddamanheader stdint.h 50*b30d1939SAndy Fiddamanheader inttypes.h 51*b30d1939SAndy Fiddamanheader string.h 52*b30d1939SAndy Fiddamanheader unistd.h 53*b30d1939SAndy Fiddamanheader limits.h 54*b30d1939SAndy Fiddamanheader fcntl.h 55*b30d1939SAndy Fiddamanheader locale.h 56*b30d1939SAndy Fiddaman 57*b30d1939SAndy Fiddamantyp dev_t,nlink_t fail{ 58*b30d1939SAndy Fiddaman echo "#ifndef $m" 59*b30d1939SAndy Fiddaman echo "#define $m 1" 60*b30d1939SAndy Fiddaman echo "typedef short $v;" 61*b30d1939SAndy Fiddaman echo "#endif" 62*b30d1939SAndy Fiddaman}end 63*b30d1939SAndy Fiddamantyp gid_t,mode_t,uid_t fail{ 64*b30d1939SAndy Fiddaman echo "#ifndef $m" 65*b30d1939SAndy Fiddaman echo "#define $m 1" 66*b30d1939SAndy Fiddaman echo "typedef unsigned short $v;" 67*b30d1939SAndy Fiddaman echo "#endif" 68*b30d1939SAndy Fiddaman}end 69*b30d1939SAndy Fiddamantyp wchar_t stdio.h wchar.h fail{ 70*b30d1939SAndy Fiddaman echo "#ifndef $m" 71*b30d1939SAndy Fiddaman echo "#define $m 1" 72*b30d1939SAndy Fiddaman echo "typedef unsigned short $v;" 73*b30d1939SAndy Fiddaman echo "#endif" 74*b30d1939SAndy Fiddaman}end 75*b30d1939SAndy Fiddamantyp pid_t,ssize_t fail{ 76*b30d1939SAndy Fiddaman echo "#ifndef $m" 77*b30d1939SAndy Fiddaman echo "#define $m 1" 78*b30d1939SAndy Fiddaman echo "typedef int $v;" 79*b30d1939SAndy Fiddaman echo "#endif" 80*b30d1939SAndy Fiddaman}end 81*b30d1939SAndy Fiddamantyp wint_t stdio.h wchar.h fail{ 82*b30d1939SAndy Fiddaman echo "#ifndef $m" 83*b30d1939SAndy Fiddaman echo "#define $m 1" 84*b30d1939SAndy Fiddaman echo "typedef int $v;" 85*b30d1939SAndy Fiddaman echo "#endif" 86*b30d1939SAndy Fiddaman}end 87*b30d1939SAndy Fiddamantyp socklen_t sys/socket.h fail{ 88*b30d1939SAndy Fiddaman echo "#ifndef $m" 89*b30d1939SAndy Fiddaman echo "#define $m 1" 90*b30d1939SAndy Fiddaman echo "typedef int $v;" 91*b30d1939SAndy Fiddaman echo "#endif" 92*b30d1939SAndy Fiddaman}end 93*b30d1939SAndy Fiddamantyp size_t fail{ 94*b30d1939SAndy Fiddaman echo "#ifndef $m" 95*b30d1939SAndy Fiddaman echo "#define $m 1" 96*b30d1939SAndy Fiddaman echo "typedef unsigned int $v;" 97*b30d1939SAndy Fiddaman echo "#endif" 98*b30d1939SAndy Fiddaman}end 99*b30d1939SAndy Fiddamantyp clock_t,ino_t,off_t,ptrdiff_t fail{ 100*b30d1939SAndy Fiddaman echo "#ifndef $m" 101*b30d1939SAndy Fiddaman echo "#define $m 1" 102*b30d1939SAndy Fiddaman echo "typedef long $v;" 103*b30d1939SAndy Fiddaman echo "#endif" 104*b30d1939SAndy Fiddaman}end 105*b30d1939SAndy Fiddamantyp time_t fail{ 106*b30d1939SAndy Fiddaman echo "#ifndef $m" 107*b30d1939SAndy Fiddaman echo "#define $m 1" 108*b30d1939SAndy Fiddaman echo "typedef unsigned long $v;" 109*b30d1939SAndy Fiddaman echo "#endif" 110*b30d1939SAndy Fiddaman}end 111*b30d1939SAndy Fiddamantyp div_t fail{ 112*b30d1939SAndy Fiddaman echo "#ifndef $m" 113*b30d1939SAndy Fiddaman echo "#define $m 1" 114*b30d1939SAndy Fiddaman echo "typedef struct { int quot; int rem; } $v;" 115*b30d1939SAndy Fiddaman echo "#endif" 116*b30d1939SAndy Fiddaman}end 117*b30d1939SAndy Fiddamantyp ldiv_t fail{ 118*b30d1939SAndy Fiddaman echo "#ifndef $m" 119*b30d1939SAndy Fiddaman echo "#define $m 1" 120*b30d1939SAndy Fiddaman echo "typedef struct { long quot; long rem; } $v;" 121*b30d1939SAndy Fiddaman echo "#endif" 122*b30d1939SAndy Fiddaman}end 123*b30d1939SAndy Fiddamantst typ_signed_size_t output{ 124*b30d1939SAndy Fiddaman #include <sys/types.h> 125*b30d1939SAndy Fiddaman int 126*b30d1939SAndy Fiddaman main() 127*b30d1939SAndy Fiddaman { 128*b30d1939SAndy Fiddaman unsigned long u = ~0; 129*b30d1939SAndy Fiddaman size_t s = ~0; 130*b30d1939SAndy Fiddaman if (s >= 0) 131*b30d1939SAndy Fiddaman return 1; 132*b30d1939SAndy Fiddaman printf("#if !defined(__cplusplus) && !defined(c_plusplus) && !defined(_typ_signed_size_t)\n/* what dipsticks made size_t signed? sun. */\ntypedef unsigned %s _ast_size_t;\n#undef\tsize_t\n#define size_t\t_ast_size_t\n#endif\n", u == (unsigned long)s ? "long" : "int"); 133*b30d1939SAndy Fiddaman return 0; 134*b30d1939SAndy Fiddaman } 135*b30d1939SAndy Fiddaman}end 136*b30d1939SAndy Fiddaman 137*b30d1939SAndy Fiddamandefine offsetof (type,member) ((size_t)&(((type*)0)->member)) 138*b30d1939SAndy Fiddamandefine EXIT_FAILURE 1 139*b30d1939SAndy Fiddamandefine EXIT_SUCCESS 0 140*b30d1939SAndy Fiddamandefine MB_CUR_MAX 1 141*b30d1939SAndy Fiddamandefine RAND_MAX 32767 142*b30d1939SAndy Fiddaman 143*b30d1939SAndy Fiddamandefine STDIN_FILENO 0 144*b30d1939SAndy Fiddamandefine STDOUT_FILENO 1 145*b30d1939SAndy Fiddamandefine STDERR_FILENO 2 146*b30d1939SAndy Fiddaman 147*b30d1939SAndy Fiddamandefine NULL 0 148*b30d1939SAndy Fiddaman 149*b30d1939SAndy Fiddamandefine SEEK_SET 0 150*b30d1939SAndy Fiddamandefine SEEK_CUR 1 151*b30d1939SAndy Fiddamandefine SEEK_END 2 152*b30d1939SAndy Fiddaman 153*b30d1939SAndy Fiddamandefine F_OK 0 154*b30d1939SAndy Fiddamandefine X_OK 1 155*b30d1939SAndy Fiddamandefine W_OK 2 156*b30d1939SAndy Fiddamandefine R_OK 4 157*b30d1939SAndy Fiddaman 158*b30d1939SAndy Fiddamanprint #if _BLD_ast && defined(__EXPORT__) 159*b30d1939SAndy Fiddamanprint #define extern __EXPORT__ 160*b30d1939SAndy Fiddamanprint #endif 161*b30d1939SAndy Fiddaman 162*b30d1939SAndy Fiddamanextern _exit void (int) 163*b30d1939SAndy Fiddamanextern abort void (void) 164*b30d1939SAndy Fiddamanextern abs int (int) 165*b30d1939SAndy Fiddamanextern access int (const char*, int) 166*b30d1939SAndy Fiddamanextern alarm unsigned (unsigned) 167*b30d1939SAndy Fiddamanextern atexit int (void(*)(void)) 168*b30d1939SAndy Fiddamanextern atof double (const char*) 169*b30d1939SAndy Fiddamanextern atoi int (const char*) 170*b30d1939SAndy Fiddamanextern atol long (const char*) 171*b30d1939SAndy Fiddamanextern bsearch void* (const void*, const void*, size_t, size_t, int(*)(const void*, const void*)) 172*b30d1939SAndy Fiddamanextern calloc void* (size_t, size_t) 173*b30d1939SAndy Fiddamanextern cfree void (void*) 174*b30d1939SAndy Fiddamanextern chdir int (const char*) 175*b30d1939SAndy Fiddamanextern chown int (const char*, uid_t, gid_t) 176*b30d1939SAndy Fiddamanextern close int (int) 177*b30d1939SAndy Fiddamanextern confstr size_t (int, char*, size_t) 178*b30d1939SAndy Fiddamanextern div div_t (int, int) 179*b30d1939SAndy Fiddamanextern dup int (int) 180*b30d1939SAndy Fiddamanextern dup2 int (int, int) 181*b30d1939SAndy Fiddamanextern eaccess int (const char*, int) 182*b30d1939SAndy Fiddamanextern execl int (const char*, const char*, ...) 183*b30d1939SAndy Fiddamanextern execle int (const char*, const char*, ...) 184*b30d1939SAndy Fiddamanextern execlp int (const char*, const char*, ...) 185*b30d1939SAndy Fiddamanextern execv int (const char*, char* const[]) 186*b30d1939SAndy Fiddamanextern execve int (const char*, char* const[], char* const[]) 187*b30d1939SAndy Fiddamanextern execve int (const char*, char* const[], char* const[]) 188*b30d1939SAndy Fiddamanextern execvp int (const char*, char* const[]) 189*b30d1939SAndy Fiddamanextern execvpe int (const char*, char* const[], char* const[]) 190*b30d1939SAndy Fiddamanextern exit void (int) 191*b30d1939SAndy Fiddamanextern fork pid_t (void) 192*b30d1939SAndy Fiddamanextern fpathconf long (int, int) 193*b30d1939SAndy Fiddamanextern free void (void*) 194*b30d1939SAndy Fiddamanextern fsync int (int) 195*b30d1939SAndy Fiddamanextern ftruncate int (int, off_t) 196*b30d1939SAndy Fiddamanextern getcwd char* (char*, size_t) 197*b30d1939SAndy Fiddamanextern getegid gid_t (void) 198*b30d1939SAndy Fiddamanextern getenv char* (const char*) 199*b30d1939SAndy Fiddamanextern geteuid uid_t (void) 200*b30d1939SAndy Fiddamanextern getgid gid_t (void) 201*b30d1939SAndy Fiddamanextern getgroups int (int, gid_t[]) 202*b30d1939SAndy Fiddamanextern getlogin char* (void) 203*b30d1939SAndy Fiddamanextern getpgrp pid_t (void) 204*b30d1939SAndy Fiddamanextern getpid pid_t (void) 205*b30d1939SAndy Fiddamanextern getppid pid_t (void) 206*b30d1939SAndy Fiddamanextern gettxt char* (const char*, const char*) 207*b30d1939SAndy Fiddamanextern getuid uid_t (void) 208*b30d1939SAndy Fiddamanextern isatty int (int) 209*b30d1939SAndy Fiddamanextern labs long (long) 210*b30d1939SAndy Fiddamanextern ldiv ldiv_t (long, long) 211*b30d1939SAndy Fiddamanextern link int (const char*, const char*) 212*b30d1939SAndy Fiddamanextern lseek off_t (int, off_t, int) 213*b30d1939SAndy Fiddamanextern malloc void* (size_t) 214*b30d1939SAndy Fiddamanextern mblen int (const char*, size_t) 215*b30d1939SAndy Fiddamanextern mbstowcs size_t (wchar_t*, const char*, size_t) 216*b30d1939SAndy Fiddamanextern mbtowc int (wchar_t*, const char*, size_t) 217*b30d1939SAndy Fiddamanextern memalign void* (size_t, size_t) 218*b30d1939SAndy Fiddamanextern memccpy void* (void*, const void*, int, size_t) 219*b30d1939SAndy Fiddamanextern memchr void* (const void*, int, size_t) 220*b30d1939SAndy Fiddamanextern memcmp int (const void*, const void*, size_t) 221*b30d1939SAndy Fiddamanextern memcpy void* (void*, const void*, size_t) 222*b30d1939SAndy Fiddamanextern memmove void* (void*, const void*, size_t) 223*b30d1939SAndy Fiddamanextern memset void* (void*, int, size_t) 224*b30d1939SAndy Fiddamanextern pathconf long (const char*, int) 225*b30d1939SAndy Fiddamanextern pause int (void) 226*b30d1939SAndy Fiddamanextern pipe int (int[]) 227*b30d1939SAndy Fiddamanextern pvalloc void* (size_t) 228*b30d1939SAndy Fiddamanextern qsort void (void*, size_t, size_t, int(*)(const void*, const void*)) 229*b30d1939SAndy Fiddamanextern rand int (void) 230*b30d1939SAndy Fiddamanextern read ssize_t (int, void*, size_t) 231*b30d1939SAndy Fiddamanextern realloc void* (void*, size_t) 232*b30d1939SAndy Fiddamanextern realpath char* (const char*, char*) 233*b30d1939SAndy Fiddamanextern resolvepath char* (const char*, char*, size_t) 234*b30d1939SAndy Fiddamanextern rmdir int (const char*) 235*b30d1939SAndy Fiddamanextern setgid int (gid_t) 236*b30d1939SAndy Fiddamanextern setpgid int (pid_t, pid_t) 237*b30d1939SAndy Fiddamanextern setsid pid_t (void) 238*b30d1939SAndy Fiddamanextern setuid int (uid_t) 239*b30d1939SAndy Fiddamanextern sleep unsigned (unsigned int) 240*b30d1939SAndy Fiddamanextern spawnveg pid_t (const char*, char* const[], char* const[], pid_t) 241*b30d1939SAndy Fiddamanextern srand void (unsigned int) 242*b30d1939SAndy Fiddamanextern strcasecmp int (const char*, const char*) 243*b30d1939SAndy Fiddamanextern strcat char* (char*, const char*) 244*b30d1939SAndy Fiddamanextern strchr char* (const char*, int) 245*b30d1939SAndy Fiddamanextern strcmp int (const char*, const char*) 246*b30d1939SAndy Fiddamanextern strcoll int (const char*, const char*) 247*b30d1939SAndy Fiddamanextern strcpy char* (char*, const char*) 248*b30d1939SAndy Fiddamanextern strcspn size_t (const char*, const char*) 249*b30d1939SAndy Fiddamanextern strdup char* (const char*) 250*b30d1939SAndy Fiddamanextern strlcat size_t (char*, const char*, size_t) 251*b30d1939SAndy Fiddamanextern strlcpy size_t (char*, const char*, size_t) 252*b30d1939SAndy Fiddamanextern strlen size_t (const char*) 253*b30d1939SAndy Fiddamanextern strncasecmp int (const char*, const char*, size_t) 254*b30d1939SAndy Fiddamanextern strncat char* (char*, const char*, size_t) 255*b30d1939SAndy Fiddamanextern strncmp int (const char*, const char*, size_t) 256*b30d1939SAndy Fiddamanextern strncpy char* (char*, const char*, size_t) 257*b30d1939SAndy Fiddamanextern strpbrk char* (const char*, const char*) 258*b30d1939SAndy Fiddamanextern strrchr char* (const char*, int) 259*b30d1939SAndy Fiddamanextern strspn size_t (const char*, const char*) 260*b30d1939SAndy Fiddamanextern strstr char* (const char*, const char*) 261*b30d1939SAndy Fiddamanextern strtok char* (char*, const char*) 262*b30d1939SAndy Fiddamanextern strxfrm size_t (char*, const char*, size_t) 263*b30d1939SAndy Fiddamanextern swab void (const void*, void*, ssize_t) 264*b30d1939SAndy Fiddamanextern sysconf long (int) 265*b30d1939SAndy Fiddamanextern system int (const char*) 266*b30d1939SAndy Fiddamanextern tcgetpgrp pid_t (int) 267*b30d1939SAndy Fiddamanextern tcsetpgrp int (int, pid_t) 268*b30d1939SAndy Fiddamanextern truncate int (const char*, off_t) 269*b30d1939SAndy Fiddamanextern ttyname char* (int) 270*b30d1939SAndy Fiddamanextern unlink int (const char*) 271*b30d1939SAndy Fiddamanextern valloc void* (size_t) 272*b30d1939SAndy Fiddamanextern wcstombs size_t (char*, const wchar_t*, size_t) 273*b30d1939SAndy Fiddamanextern wctomb int (char*, wchar_t) 274*b30d1939SAndy Fiddamanextern write ssize_t (int, const void*, size_t) 275*b30d1939SAndy Fiddaman 276*b30d1939SAndy Fiddamanprint #undef extern 277*b30d1939SAndy Fiddaman 278*b30d1939SAndy Fiddaman# <stdarg.h> is handled by proto so this must be after the last test 279*b30d1939SAndy Fiddaman 280*b30d1939SAndy Fiddamanprint #include <stdarg.h> 281