| #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_ |