xref: /plan9/sys/include/ape/stdlib.h (revision e94a8e9b44de11e62dfd4566245554f8bf8e0295)
13e12c5d1SDavid du Colombier #ifndef __STDLIB_H
23e12c5d1SDavid du Colombier #define __STDLIB_H
33e12c5d1SDavid du Colombier #pragma lib "/$M/lib/ape/libap.a"
43e12c5d1SDavid du Colombier 
53e12c5d1SDavid du Colombier #include <stddef.h>
63e12c5d1SDavid du Colombier 
73e12c5d1SDavid du Colombier #define EXIT_FAILURE 1
83e12c5d1SDavid du Colombier #define EXIT_SUCCESS 0
9*e94a8e9bSDavid du Colombier #define MB_CUR_MAX 4
103e12c5d1SDavid du Colombier #define RAND_MAX 32767
113e12c5d1SDavid du Colombier 
123e12c5d1SDavid du Colombier typedef struct { int quot, rem; } div_t;
133e12c5d1SDavid du Colombier typedef struct { long quot, rem; } ldiv_t;
143e12c5d1SDavid du Colombier 
153e12c5d1SDavid du Colombier #ifdef __cplusplus
163e12c5d1SDavid du Colombier extern "C" {
173e12c5d1SDavid du Colombier #endif
183e12c5d1SDavid du Colombier 
197dd7cddfSDavid du Colombier extern double atof(const char *);
207dd7cddfSDavid du Colombier extern int atoi(const char *);
217dd7cddfSDavid du Colombier extern long int atol(const char *);
22d9306527SDavid du Colombier extern long long atoll(const char *);
237dd7cddfSDavid du Colombier extern double strtod(const char *, char **);
247dd7cddfSDavid du Colombier extern long int strtol(const char *, char **, int);
257dd7cddfSDavid du Colombier extern unsigned long int strtoul(const char *, char **, int);
26d9306527SDavid du Colombier extern long long int strtoll(const char *, char **, int);
27d9306527SDavid du Colombier extern unsigned long long int strtoull(const char *, char **, int);
283e12c5d1SDavid du Colombier extern int rand(void);
293e12c5d1SDavid du Colombier extern void srand(unsigned int seed);
307dd7cddfSDavid du Colombier extern void *calloc(size_t, size_t);
317dd7cddfSDavid du Colombier extern void free(void *);
327dd7cddfSDavid du Colombier extern void *malloc(size_t);
337dd7cddfSDavid du Colombier extern void *realloc(void *, size_t);
343e12c5d1SDavid du Colombier extern void abort(void);
353e12c5d1SDavid du Colombier extern int atexit(void (*func)(void));
367dd7cddfSDavid du Colombier extern void exit(int);
377dd7cddfSDavid du Colombier extern char *getenv(const char *);
387dd7cddfSDavid du Colombier extern int system(const char *);
397dd7cddfSDavid du Colombier extern void *bsearch(const void *, const void *, size_t, size_t, int (*)(const void *, const void *));
407dd7cddfSDavid du Colombier extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
417dd7cddfSDavid du Colombier extern int abs(int);
427dd7cddfSDavid du Colombier extern div_t div(int, int);
437dd7cddfSDavid du Colombier extern long int labs(long int);
447dd7cddfSDavid du Colombier extern ldiv_t ldiv(long int, long int);
453e12c5d1SDavid du Colombier extern int mblen(const char *, size_t);
463e12c5d1SDavid du Colombier extern int mbtowc(wchar_t *, const char *, size_t);
473e12c5d1SDavid du Colombier extern int wctomb(char *, wchar_t);
483e12c5d1SDavid du Colombier extern size_t mbstowcs(wchar_t *, const char *, size_t);
493e12c5d1SDavid du Colombier extern size_t wcstombs(char *, const wchar_t *, size_t);
503e12c5d1SDavid du Colombier 
513e12c5d1SDavid du Colombier #ifdef __cplusplus
523e12c5d1SDavid du Colombier }
533e12c5d1SDavid du Colombier #endif
543e12c5d1SDavid du Colombier 
553e12c5d1SDavid du Colombier #endif /* __STDLIB_H */
56