sys revision 3f54fd611f536639ec30dd53c48e5ec1897cc7d9
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffset prototyped
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffref -D_def_map_ast
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #if __mips == 2 && !defined(_NO_LARGEFILE64_SOURCE)
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #define _NO_LARGEFILE64_SOURCE 1
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #if !defined(_NO_LARGEFILE64_SOURCE) && _typ_off64_t && _lib_lseek64 && _lib_stat64
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #if !defined(_LARGEFILE64_SOURCE)
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #define _LARGEFILE64_SOURCE 1
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #if !defined(_LARGEFILE_SOURCE)
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #define _LARGEFILE_SOURCE 1
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #if !defined(_LARGE_FILE_API)
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #define _LARGE_FILE_API 1
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #undef _LARGEFILE64_SOURCE
6ba9a5003193570e76c857f027a614e84e881a50David Lawrenceprint #undef _LARGEFILE_SOURCE
60a7475dd868cb0bc4796378a17f0810b606653bMichael Graffprint #undef _LARGE_FILE_API
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #undef _typ_ino64_t
60a7475dd868cb0bc4796378a17f0810b606653bMichael Graffprint #undef _typ_off64_t
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #undef _typ_struct_dirent64
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #undef _lib_creat64
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #undef _lib_fstat64
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffprint #undef _lib_fstatvfs64
b48abf6b8539608f868a17bfe429a4b4f992116dMichael Graffprint #undef _lib_ftruncate64
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffprint #undef _lib_lseek64
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffprint #undef _lib_lstat64
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #undef _lib_mmap64
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffprint #undef _lib_open64
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #undef _lib_readdir64
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #undef _lib_stat64
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #undef _lib_statvfs64
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #undef _lib_truncate64
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #if !_lib_readdir64
2f1059efb713a28a3c059293b37dc274577b3344Michael Graffprint #undef _typ_ino64_t
b48abf6b8539608f868a17bfe429a4b4f992116dMichael Graffprint #if defined(__STDC__) && !defined(__USE_FIXED_PROTOTYPES__)
c6e2d36708ce0caa235de426dbda5924d758f272Michael Graffprint #define __USE_FIXED_PROTOTYPES__ 1 /* kick gcc out of the past */
2f1059efb713a28a3c059293b37dc274577b3344Michael Grafftyp dev_t,nlink_t fail{
2f1059efb713a28a3c059293b37dc274577b3344Michael Graff echo "#ifndef $m"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "#define $m 1"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "typedef short $v;"
2f1059efb713a28a3c059293b37dc274577b3344Michael Graff echo "#endif"
2f1059efb713a28a3c059293b37dc274577b3344Michael Grafftyp gid_t,mode_t,uid_t fail{
2f1059efb713a28a3c059293b37dc274577b3344Michael Graff echo "#ifndef $m"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "#define $m 1"
2f1059efb713a28a3c059293b37dc274577b3344Michael Graff echo "typedef unsigned short $v;"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "#endif"
c6e2d36708ce0caa235de426dbda5924d758f272Michael Graff echo "#ifndef $m"
527bf549959ae9c8b8e240cf93d18fb60c4772dcMichael Graff echo "#define $m 1"
527bf549959ae9c8b8e240cf93d18fb60c4772dcMichael Graff echo "typedef unsigned short $v;"
118332fc5c23ebdcdf43413b0be7ed13fb0aa627Michael Graff echo "#endif"
527bf549959ae9c8b8e240cf93d18fb60c4772dcMichael Grafftyp pid_t,ssize_t fail{
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "#ifndef $m"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "#define $m 1"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "typedef int $v;"
c6e2d36708ce0caa235de426dbda5924d758f272Michael Graff echo "#endif"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "#ifndef $m"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "#define $m 1"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "typedef int $v;"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "#endif"
2f1059efb713a28a3c059293b37dc274577b3344Michael Grafftyp socklen_t sys/socket.h fail{
527bf549959ae9c8b8e240cf93d18fb60c4772dcMichael Graff echo "#ifndef $m"
527bf549959ae9c8b8e240cf93d18fb60c4772dcMichael Graff echo "#define $m 1"
527bf549959ae9c8b8e240cf93d18fb60c4772dcMichael Graff echo "typedef int $v;"
270ad529d381a3213e1cb3789105785ae374c287Michael Graff echo "#endif"
270ad529d381a3213e1cb3789105785ae374c287Michael Grafftyp size_t fail{
270ad529d381a3213e1cb3789105785ae374c287Michael Graff echo "#ifndef $m"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "#define $m 1"
270ad529d381a3213e1cb3789105785ae374c287Michael Graff echo "typedef unsigned int $v;"
270ad529d381a3213e1cb3789105785ae374c287Michael Graff echo "#endif"
016742f7d800837ef0e1654123adccdddfaa8886Michael Grafftyp clock_t,ino_t,off_t,ptrdiff_t fail{
270ad529d381a3213e1cb3789105785ae374c287Michael Graff echo "#ifndef $m"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "#define $m 1"
c6e2d36708ce0caa235de426dbda5924d758f272Michael Graff echo "typedef long $v;"
270ad529d381a3213e1cb3789105785ae374c287Michael Graff echo "#endif"
270ad529d381a3213e1cb3789105785ae374c287Michael Grafftyp time_t fail{
527bf549959ae9c8b8e240cf93d18fb60c4772dcMichael Graff echo "#ifndef $m"
60a7475dd868cb0bc4796378a17f0810b606653bMichael Graff echo "#define $m 1"
270ad529d381a3213e1cb3789105785ae374c287Michael Graff echo "typedef unsigned long $v;"
270ad529d381a3213e1cb3789105785ae374c287Michael Graff echo "#endif"
60a7475dd868cb0bc4796378a17f0810b606653bMichael Grafftyp div_t fail{
270ad529d381a3213e1cb3789105785ae374c287Michael Graff echo "#ifndef $m"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "#define $m 1"
2f1059efb713a28a3c059293b37dc274577b3344Michael Graff echo "typedef struct { int quot; int rem; } $v;"
60a7475dd868cb0bc4796378a17f0810b606653bMichael Graff echo "#endif"
2f1059efb713a28a3c059293b37dc274577b3344Michael Grafftyp ldiv_t fail{
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "#ifndef $m"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "#define $m 1"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "typedef struct { long quot; long rem; } $v;"
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff echo "#endif"
016742f7d800837ef0e1654123adccdddfaa8886Michael Grafftst typ_signed_size_t output{
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff unsigned long u = ~0;
016742f7d800837ef0e1654123adccdddfaa8886Michael Graff size_t s = ~0;
60a7475dd868cb0bc4796378a17f0810b606653bMichael Graff 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");
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffdefine offsetof (type,member) ((size_t)&(((type*)0)->member))
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffdefine EXIT_FAILURE 1
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffdefine EXIT_SUCCESS 0
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffdefine MB_CUR_MAX 1
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffdefine RAND_MAX 32767
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffdefine STDIN_FILENO 0
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffdefine STDOUT_FILENO 1
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffdefine STDERR_FILENO 2
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffdefine SEEK_SET 0
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffdefine SEEK_CUR 1
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffdefine SEEK_END 2
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffprint #if _BLD_ast && defined(__EXPORT__)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffprint #define extern __EXPORT__
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern _exit void (int)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern abort void (void)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern abs int (int)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern access int (const char*, int)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern alarm unsigned (unsigned)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern atexit int (void(*)(void))
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern atof double (const char*)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern atoi int (const char*)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern atol long (const char*)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern bsearch void* (const void*, const void*, size_t, size_t, int(*)(const void*, const void*))
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern calloc void* (size_t, size_t)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern cfree void (void*)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern chdir int (const char*)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern chown int (const char*, uid_t, gid_t)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern close int (int)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern confstr size_t (int, char*, size_t)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern div div_t (int, int)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern dup int (int)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern dup2 int (int, int)
60a7475dd868cb0bc4796378a17f0810b606653bMichael Graffextern eaccess int (const char*, int)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern execl int (const char*, const char*, ...)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern execle int (const char*, const char*, ...)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern execlp int (const char*, const char*, ...)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern execv int (const char*, char* const[])
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern execve int (const char*, char* const[], char* const[])
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern execve int (const char*, char* const[], char* const[])
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern execvp int (const char*, char* const[])
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern execvpe int (const char*, char* const[], char* const[])
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern exit void (int)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern fork pid_t (void)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern fpathconf long (int, int)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern free void (void*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern fsync int (int)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern ftruncate int (int, off_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern getcwd char* (char*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern getegid gid_t (void)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern getenv char* (const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern geteuid uid_t (void)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern getgid gid_t (void)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern getgroups int (int, gid_t[])
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern getlogin char* (void)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern getpgrp pid_t (void)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern getpid pid_t (void)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern getppid pid_t (void)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern gettxt char* (const char*, const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern getuid uid_t (void)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern isatty int (int)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern labs long (long)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern ldiv ldiv_t (long, long)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern link int (const char*, const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern lseek off_t (int, off_t, int)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern malloc void* (size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern mblen int (const char*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern mbstowcs size_t (wchar_t*, const char*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern mbtowc int (wchar_t*, const char*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern memalign void* (size_t, size_t)
60a7475dd868cb0bc4796378a17f0810b606653bMichael Graffextern memccpy void* (void*, const void*, int, size_t)
60a7475dd868cb0bc4796378a17f0810b606653bMichael Graffextern memchr void* (const void*, int, size_t)
60a7475dd868cb0bc4796378a17f0810b606653bMichael Graffextern memcmp int (const void*, const void*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern memcpy void* (void*, const void*, size_t)
60a7475dd868cb0bc4796378a17f0810b606653bMichael Graffextern memmove void* (void*, const void*, size_t)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern memset void* (void*, int, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern pathconf long (const char*, int)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern pause int (void)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern pipe int (int[])
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern pvalloc void* (size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern qsort void (void*, size_t, size_t, int(*)(const void*, const void*))
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern rand int (void)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern read ssize_t (int, void*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern realloc void* (void*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern realpath char* (const char*, char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern resolvepath char* (const char*, char*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern rmdir int (const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern setgid int (gid_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern setpgid int (pid_t, pid_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern setsid pid_t (void)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern setuid int (uid_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern sleep unsigned (unsigned int)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern spawnveg pid_t (const char*, char* const[], char* const[], pid_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern srand void (unsigned int)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strcasecmp int (const char*, const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strcat char* (char*, const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strchr char* (const char*, int)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strcmp int (const char*, const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strcoll int (const char*, const char*)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern strcpy char* (char*, const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strcspn size_t (const char*, const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strdup char* (const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strlcat size_t (char*, const char*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strlcpy size_t (char*, const char*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strlen size_t (const char*)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern strncasecmp int (const char*, const char*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strncat char* (char*, const char*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strncmp int (const char*, const char*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strncpy char* (char*, const char*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strpbrk char* (const char*, const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strrchr char* (const char*, int)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strspn size_t (const char*, const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strstr char* (const char*, const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strtok char* (char*, const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern strxfrm size_t (char*, const char*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern swab void (const void*, void*, ssize_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern sysconf long (int)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern system int (const char*)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern tcgetpgrp pid_t (int)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern tcsetpgrp int (int, pid_t)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern truncate int (const char*, off_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern ttyname char* (int)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern unlink int (const char*)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffextern valloc void* (size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern wcstombs size_t (char*, const wchar_t*, size_t)
016742f7d800837ef0e1654123adccdddfaa8886Michael Graffextern wctomb int (char*, wchar_t)
118332fc5c23ebdcdf43413b0be7ed13fb0aa627Michael Graffextern write ssize_t (int, const void*, size_t)
b8feb9c67c61ad908d1d710f79b861f645f36f7eMichael Graffprint #undef extern
118332fc5c23ebdcdf43413b0be7ed13fb0aa627Michael Graff# <stdarg.h> is handled by proto so this must be after the last test
630a9557113ab52288de873f563ef35c75a2871aMichael Graffprint #include <stdarg.h>