| #ifndef SYSROOT_STDLIB_H_ | |
| #define SYSROOT_STDLIB_H_ | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #include <features.h> | |
| #include <bits/null.h> | |
| #define __NEED_size_t | |
| #define __NEED_wchar_t | |
| #include <bits/alltypes.h> | |
| int atoi(const char*); | |
| long atol(const char*); | |
| long long atoll(const char*); | |
| double atof(const char*); | |
| float strtof(const char* __restrict, char** __restrict); | |
| double strtod(const char* __restrict, char** __restrict); | |
| long double strtold(const char* __restrict, char** __restrict); | |
| long strtol(const char* __restrict, char** __restrict, int); | |
| unsigned long strtoul(const char* __restrict, char** __restrict, int); | |
| long long strtoll(const char* __restrict, char** __restrict, int); | |
| unsigned long long strtoull(const char* __restrict, char** __restrict, int); | |
| int rand(void); | |
| void srand(unsigned); | |
| void* malloc(size_t); | |
| void* calloc(size_t, size_t); | |
| void* realloc(void*, size_t); | |
| void free(void*); | |
| void* aligned_alloc(size_t alignment, size_t size); | |
| _Noreturn void abort(void); | |
| int atexit(void (*)(void)); | |
| _Noreturn void exit(int); | |
| _Noreturn void _Exit(int); | |
| int at_quick_exit(void (*)(void)); | |
| _Noreturn void quick_exit(int); | |
| char* getenv(const char*); | |
| int system(const char*); | |
| void* bsearch(const void*, const void*, size_t, size_t, int (*)(const void*, const void*)); | |
| void qsort(void*, size_t, size_t, int (*)(const void*, const void*)); | |
| int abs(int); | |
| long labs(long); | |
| long long llabs(long long); | |
| typedef struct { | |
| int quot, rem; | |
| } div_t; | |
| typedef struct { | |
| long quot, rem; | |
| } ldiv_t; | |
| typedef struct { | |
| long long quot, rem; | |
| } lldiv_t; | |
| div_t div(int, int); | |
| ldiv_t ldiv(long, long); | |
| lldiv_t lldiv(long long, long long); | |
| int mblen(const char*, size_t); | |
| int mbtowc(wchar_t* __restrict, const char* __restrict, size_t); | |
| int wctomb(char*, wchar_t); | |
| size_t mbstowcs(wchar_t* __restrict, const char* __restrict, size_t); | |
| size_t wcstombs(char* __restrict, const wchar_t* __restrict, size_t); | |
| #define EXIT_FAILURE 1 | |
| #define EXIT_SUCCESS 0 | |
| size_t __ctype_get_mb_cur_max(void); | |
| #define MB_CUR_MAX (__ctype_get_mb_cur_max()) | |
| #define RAND_MAX (0x7fffffff) | |
| #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ | |
| defined(_GNU_SOURCE) || defined(_BSD_SOURCE) | |
| #define WNOHANG 1 | |
| #define WUNTRACED 2 | |
| #define WEXITSTATUS(s) (((s)&0xff00) >> 8) | |
| #define WTERMSIG(s) ((s)&0x7f) | |
| #define WSTOPSIG(s) WEXITSTATUS(s) | |
| #define WIFEXITED(s) (!WTERMSIG(s)) | |
| #define WIFSTOPPED(s) ((short)((((s)&0xffff) * 0x10001) >> 8) > 0x7f00) | |
| #define WIFSIGNALED(s) (((s)&0xffff) - 1U < 0xffu) | |
| int posix_memalign(void**, size_t, size_t); | |
| int setenv(const char*, const char*, int); | |
| int unsetenv(const char*); | |
| int mkstemp(char*); | |
| int mkostemp(char*, int); | |
| char* mkdtemp(char*); | |
| int getsubopt(char**, char* const*, char**); | |
| int rand_r(unsigned*); | |
| #endif | |
| #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) | |
| char* realpath(const char* __restrict, char* __restrict); | |
| long int random(void); | |
| void srandom(unsigned int); | |
| char* initstate(unsigned int, char*, size_t); | |
| char* setstate(char*); | |
| int putenv(char*); | |
| int posix_openpt(int); | |
| int grantpt(int); | |
| int unlockpt(int); | |
| char* ptsname(int); | |
| long a64l(const char*); | |
| void setkey(const char*); | |
| double drand48(void); | |
| double erand48(unsigned short[3]); | |
| long int lrand48(void); | |
| long int nrand48(unsigned short[3]); | |
| long mrand48(void); | |
| long jrand48(unsigned short[3]); | |
| void srand48(long); | |
| unsigned short* seed48(unsigned short[3]); | |
| void lcong48(unsigned short[7]); | |
| #endif | |
| #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) | |
| #include <alloca.h> | |
| char* mktemp(char*); | |
| int mkstemps(char*, int); | |
| int mkostemps(char*, int, int); | |
| void* valloc(size_t); | |
| void* memalign(size_t, size_t); | |
| int clearenv(void); | |
| #define WCOREDUMP(s) ((s)&0x80) | |
| #define WIFCONTINUED(s) ((s) == 0xffff) | |
| #endif | |
| #ifdef _GNU_SOURCE | |
| int ptsname_r(int, char*, size_t); | |
| char* ecvt(double, int, int*, int*); | |
| char* fcvt(double, int, int*, int*); | |
| char* gcvt(double, int, char*); | |
| #endif | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif // SYSROOT_STDLIB_H_ |