Viewing: stdlib.h
📄 stdlib.h (Read Only) ⬅ To go back
#ifndef ULIBC_STDLIB_H
#define ULIBC_STDLIB_H

#include <stddef.h>

void*   malloc(size_t size);
void    free(void* ptr);
void*   calloc(size_t nmemb, size_t size);
void*   realloc(void* ptr, size_t size);

int     atoi(const char* s);
double  atof(const char* s);
long    strtol(const char* nptr, char** endptr, int base);
unsigned long strtoul(const char* nptr, char** endptr, int base);
long long strtoll(const char* nptr, char** endptr, int base);
unsigned long long strtoull(const char* nptr, char** endptr, int base);
char*   realpath(const char* path, char* resolved);
char*   getenv(const char* name);
int     abs(int x);
long    labs(long x);
int     setenv(const char* name, const char* value, int overwrite);
int     unsetenv(const char* name);
int     putenv(char* string);
int     atexit(void (*func)(void));
void    abort(void) __attribute__((noreturn));
int     rand(void);
void    srand(unsigned int seed);
#define RAND_MAX 0x7FFF

void    qsort(void* base, size_t nmemb, size_t size,
              int (*compar)(const void*, const void*));
void*   bsearch(const void* key, const void* base, size_t nmemb, size_t size,
                int (*compar)(const void*, const void*));

typedef struct { int quot; int rem; } div_t;
typedef struct { long quot; long rem; } ldiv_t;
div_t   div(int numer, int denom);
ldiv_t  ldiv(long numer, long denom);

int     mkstemp(char* tmpl);
double  strtod(const char* nptr, char** endptr);
float   strtof(const char* nptr, char** endptr);

int     system(const char* cmd);
void    exit(int status) __attribute__((noreturn));

#ifndef NULL
#define NULL ((void*)0)
#endif

#endif