xref: /plan9-contrib/sys/include/ape/stdlib.h (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
1 #ifndef __STDLIB_H
2 #define __STDLIB_H
3 #pragma lib "/$M/lib/ape/libap.a"
4 
5 #include <stddef.h>
6 
7 #define EXIT_FAILURE 1
8 #define EXIT_SUCCESS 0
9 #define MB_CUR_MAX 3
10 #define RAND_MAX 32767
11 
12 typedef struct { int quot, rem; } div_t;
13 typedef struct { long quot, rem; } ldiv_t;
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 extern double atof(const char *nptr);
20 extern int atoi(const char *nptr);
21 extern long int atol(const char *nptr);
22 extern double strtod(const char *nptr, char **endptr);
23 extern long int strtol(const char *nptr, char **endptr, int base);
24 extern unsigned long int strtoul(const char *nptr, char **endptr, int base);
25 extern int rand(void);
26 extern void srand(unsigned int seed);
27 extern void *calloc(size_t nmemb, size_t size);
28 extern void free(void *ptr);
29 extern void *malloc(size_t size);
30 extern void *realloc(void *ptr, size_t size);
31 extern void abort(void);
32 extern int atexit(void (*func)(void));
33 extern void exit(int status);
34 extern char *getenv(const char *name);
35 extern int system(const char *string);
36 extern void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
37 extern void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
38 extern int abs(int j);
39 extern div_t div(int numer, int denom);
40 extern long int labs(long int j);
41 extern ldiv_t ldiv(long int numer, long int denom);
42 extern int mblen(const char *, size_t);
43 extern int mbtowc(wchar_t *, const char *, size_t);
44 extern int wctomb(char *, wchar_t);
45 extern size_t mbstowcs(wchar_t *, const char *, size_t);
46 extern size_t wcstombs(char *, const wchar_t *, size_t);
47 
48 #ifdef __cplusplus
49 }
50 #endif
51 
52 #endif /* __STDLIB_H */
53