xref: /aosp_15_r20/prebuilts/build-tools/sysroots/i686-unknown-linux-musl/include/stdlib.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker #ifndef _STDLIB_H
2*cda5da8dSAndroid Build Coastguard Worker #define _STDLIB_H
3*cda5da8dSAndroid Build Coastguard Worker 
4*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus
5*cda5da8dSAndroid Build Coastguard Worker extern "C" {
6*cda5da8dSAndroid Build Coastguard Worker #endif
7*cda5da8dSAndroid Build Coastguard Worker 
8*cda5da8dSAndroid Build Coastguard Worker #include <features.h>
9*cda5da8dSAndroid Build Coastguard Worker 
10*cda5da8dSAndroid Build Coastguard Worker #if __cplusplus >= 201103L
11*cda5da8dSAndroid Build Coastguard Worker #define NULL nullptr
12*cda5da8dSAndroid Build Coastguard Worker #elif defined(__cplusplus)
13*cda5da8dSAndroid Build Coastguard Worker #define NULL 0L
14*cda5da8dSAndroid Build Coastguard Worker #else
15*cda5da8dSAndroid Build Coastguard Worker #define NULL ((void*)0)
16*cda5da8dSAndroid Build Coastguard Worker #endif
17*cda5da8dSAndroid Build Coastguard Worker 
18*cda5da8dSAndroid Build Coastguard Worker #define __NEED_size_t
19*cda5da8dSAndroid Build Coastguard Worker #define __NEED_wchar_t
20*cda5da8dSAndroid Build Coastguard Worker 
21*cda5da8dSAndroid Build Coastguard Worker #include <bits/alltypes.h>
22*cda5da8dSAndroid Build Coastguard Worker 
23*cda5da8dSAndroid Build Coastguard Worker int atoi (const char *);
24*cda5da8dSAndroid Build Coastguard Worker long atol (const char *);
25*cda5da8dSAndroid Build Coastguard Worker long long atoll (const char *);
26*cda5da8dSAndroid Build Coastguard Worker double atof (const char *);
27*cda5da8dSAndroid Build Coastguard Worker 
28*cda5da8dSAndroid Build Coastguard Worker float strtof (const char *__restrict, char **__restrict);
29*cda5da8dSAndroid Build Coastguard Worker double strtod (const char *__restrict, char **__restrict);
30*cda5da8dSAndroid Build Coastguard Worker long double strtold (const char *__restrict, char **__restrict);
31*cda5da8dSAndroid Build Coastguard Worker 
32*cda5da8dSAndroid Build Coastguard Worker long strtol (const char *__restrict, char **__restrict, int);
33*cda5da8dSAndroid Build Coastguard Worker unsigned long strtoul (const char *__restrict, char **__restrict, int);
34*cda5da8dSAndroid Build Coastguard Worker long long strtoll (const char *__restrict, char **__restrict, int);
35*cda5da8dSAndroid Build Coastguard Worker unsigned long long strtoull (const char *__restrict, char **__restrict, int);
36*cda5da8dSAndroid Build Coastguard Worker 
37*cda5da8dSAndroid Build Coastguard Worker int rand (void);
38*cda5da8dSAndroid Build Coastguard Worker void srand (unsigned);
39*cda5da8dSAndroid Build Coastguard Worker 
40*cda5da8dSAndroid Build Coastguard Worker void *malloc (size_t);
41*cda5da8dSAndroid Build Coastguard Worker void *calloc (size_t, size_t);
42*cda5da8dSAndroid Build Coastguard Worker void *realloc (void *, size_t);
43*cda5da8dSAndroid Build Coastguard Worker void free (void *);
44*cda5da8dSAndroid Build Coastguard Worker void *aligned_alloc(size_t, size_t);
45*cda5da8dSAndroid Build Coastguard Worker 
46*cda5da8dSAndroid Build Coastguard Worker _Noreturn void abort (void);
47*cda5da8dSAndroid Build Coastguard Worker int atexit (void (*) (void));
48*cda5da8dSAndroid Build Coastguard Worker _Noreturn void exit (int);
49*cda5da8dSAndroid Build Coastguard Worker _Noreturn void _Exit (int);
50*cda5da8dSAndroid Build Coastguard Worker int at_quick_exit (void (*) (void));
51*cda5da8dSAndroid Build Coastguard Worker _Noreturn void quick_exit (int);
52*cda5da8dSAndroid Build Coastguard Worker 
53*cda5da8dSAndroid Build Coastguard Worker char *getenv (const char *);
54*cda5da8dSAndroid Build Coastguard Worker 
55*cda5da8dSAndroid Build Coastguard Worker int system (const char *);
56*cda5da8dSAndroid Build Coastguard Worker 
57*cda5da8dSAndroid Build Coastguard Worker void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *));
58*cda5da8dSAndroid Build Coastguard Worker void qsort (void *, size_t, size_t, int (*)(const void *, const void *));
59*cda5da8dSAndroid Build Coastguard Worker 
60*cda5da8dSAndroid Build Coastguard Worker int abs (int);
61*cda5da8dSAndroid Build Coastguard Worker long labs (long);
62*cda5da8dSAndroid Build Coastguard Worker long long llabs (long long);
63*cda5da8dSAndroid Build Coastguard Worker 
64*cda5da8dSAndroid Build Coastguard Worker typedef struct { int quot, rem; } div_t;
65*cda5da8dSAndroid Build Coastguard Worker typedef struct { long quot, rem; } ldiv_t;
66*cda5da8dSAndroid Build Coastguard Worker typedef struct { long long quot, rem; } lldiv_t;
67*cda5da8dSAndroid Build Coastguard Worker 
68*cda5da8dSAndroid Build Coastguard Worker div_t div (int, int);
69*cda5da8dSAndroid Build Coastguard Worker ldiv_t ldiv (long, long);
70*cda5da8dSAndroid Build Coastguard Worker lldiv_t lldiv (long long, long long);
71*cda5da8dSAndroid Build Coastguard Worker 
72*cda5da8dSAndroid Build Coastguard Worker int mblen (const char *, size_t);
73*cda5da8dSAndroid Build Coastguard Worker int mbtowc (wchar_t *__restrict, const char *__restrict, size_t);
74*cda5da8dSAndroid Build Coastguard Worker int wctomb (char *, wchar_t);
75*cda5da8dSAndroid Build Coastguard Worker size_t mbstowcs (wchar_t *__restrict, const char *__restrict, size_t);
76*cda5da8dSAndroid Build Coastguard Worker size_t wcstombs (char *__restrict, const wchar_t *__restrict, size_t);
77*cda5da8dSAndroid Build Coastguard Worker 
78*cda5da8dSAndroid Build Coastguard Worker #define EXIT_FAILURE 1
79*cda5da8dSAndroid Build Coastguard Worker #define EXIT_SUCCESS 0
80*cda5da8dSAndroid Build Coastguard Worker 
81*cda5da8dSAndroid Build Coastguard Worker size_t __ctype_get_mb_cur_max(void);
82*cda5da8dSAndroid Build Coastguard Worker #define MB_CUR_MAX (__ctype_get_mb_cur_max())
83*cda5da8dSAndroid Build Coastguard Worker 
84*cda5da8dSAndroid Build Coastguard Worker #define RAND_MAX (0x7fffffff)
85*cda5da8dSAndroid Build Coastguard Worker 
86*cda5da8dSAndroid Build Coastguard Worker 
87*cda5da8dSAndroid Build Coastguard Worker #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
88*cda5da8dSAndroid Build Coastguard Worker  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
89*cda5da8dSAndroid Build Coastguard Worker  || defined(_BSD_SOURCE)
90*cda5da8dSAndroid Build Coastguard Worker 
91*cda5da8dSAndroid Build Coastguard Worker #define WNOHANG    1
92*cda5da8dSAndroid Build Coastguard Worker #define WUNTRACED  2
93*cda5da8dSAndroid Build Coastguard Worker 
94*cda5da8dSAndroid Build Coastguard Worker #define WEXITSTATUS(s) (((s) & 0xff00) >> 8)
95*cda5da8dSAndroid Build Coastguard Worker #define WTERMSIG(s) ((s) & 0x7f)
96*cda5da8dSAndroid Build Coastguard Worker #define WSTOPSIG(s) WEXITSTATUS(s)
97*cda5da8dSAndroid Build Coastguard Worker #define WIFEXITED(s) (!WTERMSIG(s))
98*cda5da8dSAndroid Build Coastguard Worker #define WIFSTOPPED(s) ((short)((((s)&0xffff)*0x10001U)>>8) > 0x7f00)
99*cda5da8dSAndroid Build Coastguard Worker #define WIFSIGNALED(s) (((s)&0xffff)-1U < 0xffu)
100*cda5da8dSAndroid Build Coastguard Worker 
101*cda5da8dSAndroid Build Coastguard Worker int posix_memalign (void **, size_t, size_t);
102*cda5da8dSAndroid Build Coastguard Worker int setenv (const char *, const char *, int);
103*cda5da8dSAndroid Build Coastguard Worker int unsetenv (const char *);
104*cda5da8dSAndroid Build Coastguard Worker int mkstemp (char *);
105*cda5da8dSAndroid Build Coastguard Worker int mkostemp (char *, int);
106*cda5da8dSAndroid Build Coastguard Worker char *mkdtemp (char *);
107*cda5da8dSAndroid Build Coastguard Worker int getsubopt (char **, char *const *, char **);
108*cda5da8dSAndroid Build Coastguard Worker int rand_r (unsigned *);
109*cda5da8dSAndroid Build Coastguard Worker 
110*cda5da8dSAndroid Build Coastguard Worker #endif
111*cda5da8dSAndroid Build Coastguard Worker 
112*cda5da8dSAndroid Build Coastguard Worker 
113*cda5da8dSAndroid Build Coastguard Worker #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
114*cda5da8dSAndroid Build Coastguard Worker  || defined(_BSD_SOURCE)
115*cda5da8dSAndroid Build Coastguard Worker char *realpath (const char *__restrict, char *__restrict);
116*cda5da8dSAndroid Build Coastguard Worker long int random (void);
117*cda5da8dSAndroid Build Coastguard Worker void srandom (unsigned int);
118*cda5da8dSAndroid Build Coastguard Worker char *initstate (unsigned int, char *, size_t);
119*cda5da8dSAndroid Build Coastguard Worker char *setstate (char *);
120*cda5da8dSAndroid Build Coastguard Worker int putenv (char *);
121*cda5da8dSAndroid Build Coastguard Worker int posix_openpt (int);
122*cda5da8dSAndroid Build Coastguard Worker int grantpt (int);
123*cda5da8dSAndroid Build Coastguard Worker int unlockpt (int);
124*cda5da8dSAndroid Build Coastguard Worker char *ptsname (int);
125*cda5da8dSAndroid Build Coastguard Worker char *l64a (long);
126*cda5da8dSAndroid Build Coastguard Worker long a64l (const char *);
127*cda5da8dSAndroid Build Coastguard Worker void setkey (const char *);
128*cda5da8dSAndroid Build Coastguard Worker double drand48 (void);
129*cda5da8dSAndroid Build Coastguard Worker double erand48 (unsigned short [3]);
130*cda5da8dSAndroid Build Coastguard Worker long int lrand48 (void);
131*cda5da8dSAndroid Build Coastguard Worker long int nrand48 (unsigned short [3]);
132*cda5da8dSAndroid Build Coastguard Worker long mrand48 (void);
133*cda5da8dSAndroid Build Coastguard Worker long jrand48 (unsigned short [3]);
134*cda5da8dSAndroid Build Coastguard Worker void srand48 (long);
135*cda5da8dSAndroid Build Coastguard Worker unsigned short *seed48 (unsigned short [3]);
136*cda5da8dSAndroid Build Coastguard Worker void lcong48 (unsigned short [7]);
137*cda5da8dSAndroid Build Coastguard Worker #endif
138*cda5da8dSAndroid Build Coastguard Worker 
139*cda5da8dSAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
140*cda5da8dSAndroid Build Coastguard Worker #include <alloca.h>
141*cda5da8dSAndroid Build Coastguard Worker char *mktemp (char *);
142*cda5da8dSAndroid Build Coastguard Worker int mkstemps (char *, int);
143*cda5da8dSAndroid Build Coastguard Worker int mkostemps (char *, int, int);
144*cda5da8dSAndroid Build Coastguard Worker void *valloc (size_t);
145*cda5da8dSAndroid Build Coastguard Worker void *memalign(size_t, size_t);
146*cda5da8dSAndroid Build Coastguard Worker int getloadavg(double *, int);
147*cda5da8dSAndroid Build Coastguard Worker int clearenv(void);
148*cda5da8dSAndroid Build Coastguard Worker #define WCOREDUMP(s) ((s) & 0x80)
149*cda5da8dSAndroid Build Coastguard Worker #define WIFCONTINUED(s) ((s) == 0xffff)
150*cda5da8dSAndroid Build Coastguard Worker void *reallocarray (void *, size_t, size_t);
151*cda5da8dSAndroid Build Coastguard Worker void qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *);
152*cda5da8dSAndroid Build Coastguard Worker #endif
153*cda5da8dSAndroid Build Coastguard Worker 
154*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE
155*cda5da8dSAndroid Build Coastguard Worker int ptsname_r(int, char *, size_t);
156*cda5da8dSAndroid Build Coastguard Worker char *ecvt(double, int, int *, int *);
157*cda5da8dSAndroid Build Coastguard Worker char *fcvt(double, int, int *, int *);
158*cda5da8dSAndroid Build Coastguard Worker char *gcvt(double, int, char *);
159*cda5da8dSAndroid Build Coastguard Worker char *secure_getenv(const char *);
160*cda5da8dSAndroid Build Coastguard Worker struct __locale_struct;
161*cda5da8dSAndroid Build Coastguard Worker float strtof_l(const char *__restrict, char **__restrict, struct __locale_struct *);
162*cda5da8dSAndroid Build Coastguard Worker double strtod_l(const char *__restrict, char **__restrict, struct __locale_struct *);
163*cda5da8dSAndroid Build Coastguard Worker long double strtold_l(const char *__restrict, char **__restrict, struct __locale_struct *);
164*cda5da8dSAndroid Build Coastguard Worker #endif
165*cda5da8dSAndroid Build Coastguard Worker 
166*cda5da8dSAndroid Build Coastguard Worker #if defined(_LARGEFILE64_SOURCE)
167*cda5da8dSAndroid Build Coastguard Worker #define mkstemp64 mkstemp
168*cda5da8dSAndroid Build Coastguard Worker #define mkostemp64 mkostemp
169*cda5da8dSAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
170*cda5da8dSAndroid Build Coastguard Worker #define mkstemps64 mkstemps
171*cda5da8dSAndroid Build Coastguard Worker #define mkostemps64 mkostemps
172*cda5da8dSAndroid Build Coastguard Worker #endif
173*cda5da8dSAndroid Build Coastguard Worker #endif
174*cda5da8dSAndroid Build Coastguard Worker 
175*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus
176*cda5da8dSAndroid Build Coastguard Worker }
177*cda5da8dSAndroid Build Coastguard Worker #endif
178*cda5da8dSAndroid Build Coastguard Worker 
179*cda5da8dSAndroid Build Coastguard Worker #endif
180