diff options
Diffstat (limited to 'mdk-stage1/dietlibc/include/stdlib.h')
-rw-r--r-- | mdk-stage1/dietlibc/include/stdlib.h | 52 |
1 files changed, 34 insertions, 18 deletions
diff --git a/mdk-stage1/dietlibc/include/stdlib.h b/mdk-stage1/dietlibc/include/stdlib.h index c5fea2608..b85425426 100644 --- a/mdk-stage1/dietlibc/include/stdlib.h +++ b/mdk-stage1/dietlibc/include/stdlib.h @@ -9,36 +9,52 @@ void *malloc(size_t size) __THROW; void free(void *ptr) __THROW; void *realloc(void *ptr, size_t size) __THROW; -void *alloca(size_t size); - -char *getenv(const char *name) __pure__; +char *getenv(const char *name) __THROW __pure__; +int putenv(const char *string) __THROW; +int setenv(const char *name, const char *value, int overwrite) __THROW; +void unsetenv(const char *name) __THROW; int atexit(void (*function)(void)) __THROW; double strtod(const char *nptr, char **endptr) __THROW; -long int strtol(const char *nptr, char **endptr, int base); -unsigned long int strtoul(const char *nptr, char **endptr, int base); +long int strtol(const char *nptr, char **endptr, int base) __THROW; +unsigned long int strtoul(const char *nptr, char **endptr, int base) __THROW; -int __ltostr(char *s, int size, unsigned long i, int base, char UpCase); +int __ltostr(char *s, int size, unsigned long i, int base, char UpCase) __THROW; #ifdef __GNUC__ -long long int strtoll(const char *nptr, char **endptr, int base); -unsigned long long int strtoull(const char *nptr, char **endptr, int base); -int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase); +long long int strtoll(const char *nptr, char **endptr, int base) __THROW; +unsigned long long int strtoull(const char *nptr, char **endptr, int base) __THROW; +int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase) __THROW; #endif -int atoi(const char *nptr); +int atoi(const char *nptr) __THROW; +long int atol(const char *nptr) __THROW; +double atof(const char *nptr) __THROW; + +void exit(int status) __THROW __attribute__((noreturn)); +void abort(void) __THROW; + +/* warning: the rand() implementation of the diet libc really sucks. */ +#define RAND_MAX 32767 -void abort(void); -void exit(int); +extern int rand(void) __THROW; +extern void srand(unsigned int seed) __THROW; + +void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) __THROW; +void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) __THROW; extern char **environ; -#define WIFSTOPPED(status) (((status) & 0xff) == 0x7f) -#define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status)) -#define WEXITSTATUS(status) (((status) & 0xff00) >> 8) -#define WTERMSIG(status) ((status) & 0x7f) -#define WSTOPSIG(status) WEXITSTATUS(status) -#define WIFEXITED(status) (WTERMSIG(status) == 0) +#define EXIT_SUCCESS 0 +#define EXIT_FAILURE 1 + +/* now this function is the greatest bullshit I have ever seen. + * The ISO people must be out of their minds. */ +typedef struct { int quot,rem; } div_t; +div_t div(int numer, int denom) __THROW __attribute__((const)); + +void *alloca(size_t size) __THROW; /* gcc built-in */ +char *realpath(const char *path, char *resolved_path) __THROW; #endif |