X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2Finclude%2Fstdlib.h;h=baf12c312cb06231bf9d02e796c47c2d27fc255d;hb=0cf0603b0b1f6a8617f8efc73375b9b1a9da2159;hp=6f745f16ca8bf8c7ff118c56c33355ba27fa03fa;hpb=91dd38c34820c03311738439125675d59bf9e3f1;p=tpg%2Facess2.git diff --git a/Usermode/include/stdlib.h b/Usermode/include/stdlib.h index 6f745f16..baf12c31 100644 --- a/Usermode/include/stdlib.h +++ b/Usermode/include/stdlib.h @@ -1,19 +1,16 @@ /* -AcessOS LibC - -stdlib.h -*/ + * AcessOS LibC + * stdlib.h + */ #ifndef __STDLIB_H #define __STDLIB_H +#include #include #include -#ifndef NULL -# define NULL ((void*)0) -#endif - -typedef unsigned int size_t; +#define EXIT_FAILURE 1 +#define EXIT_SUCCESS 0 // --- Spinlock Macros --- #define DEFLOCK(_name) static int _spinlock_##_name=0; @@ -22,16 +19,19 @@ typedef unsigned int size_t; #define UNLOCK(_name) __asm__ __volatile__("lock andl $0, (%0)"::"D"(&_spinlock_##_name)) // --- StdLib --- +extern void _exit(int code) __attribute__((noreturn)); //NOTE: Also defined in acess/sys.h extern int atoi(const char *ptr); extern void exit(int status) __attribute__((noreturn)); +extern void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *)); // --- Environment --- extern char *getenv(const char *name); // --- Heap --- extern void free(void *mem); -extern void *malloc(unsigned int bytes); -extern void *realloc(void *oldPos, unsigned int bytes); +extern void *malloc(size_t bytes); +extern void *calloc(size_t __nmemb, size_t __size); +extern void *realloc(void *__ptr, size_t __size); extern int IsHeap(void *ptr); #ifndef SEEK_CUR