#ifndef __STDLIB_H
#define __STDLIB_H __STDLIB_H
+// TODO: Documentation
+
// ----------------------------------------------------------------------------
// MACROS
+#include "__NULL.h"
+
#define EXIT_FAILURE // TODO
#define EXIT_SUCCESS // TODO
#define MB_CUR_MAX // TODO
-#define NULL 0
#define RAND_MAX // TODO
// ----------------------------------------------------------------------------
long long remainder;
} lldiv_t;
-typedef size_t; // TODO
-
-#ifndef __cplusplus
-typedef wchar_t; // TODO
-#endif // __cplusplus
-
-// ----------------------------------------------------------------------------
-// FUNCTIONS - C++
-
-#ifdef __cplusplus
-
-long abs( long i );
-long long abs( long long i );
-
-ldiv_t div( long numer, long denom );
-lldiv_t div( long long numer, long long denom );
-
-#endif // __cplusplus
+#include "__size_t.h"
+#include "__wchar_t.h"
// ----------------------------------------------------------------------------
-// FUNCTIONS - Standard C
+// FUNCTIONS
int abs( int i );
long long llabs( long long i );
char * getenv( const char * name );
int system( const char * s );
-#ifdef __cplusplus
-#define __cppwrapper( x ) extern "C++" x \
-extern "C" x
-#else
-#define __cppwrapper( x ) x
-#endif // __cplusplus
-
-__cppwrapper( int atexit( void (*func) ( void ) ) { /* TODO */ }; )
-__cppwrapper( void * bsearch( const void * key, const void * base, size_t nelem, size_t size, int (*cmp) ( const void * ck, const void * ce) ) { /* TODO */ }; )
-__cppwrapper( void qsort( void * base, size_t nelem, size_t size, int (*cmp) ( const void * e1, const void * e2) ) { /* TODO */ }; )
+int atexit( void (*func) ( void ) );
+void * bsearch( const void * key, const void * base, size_t nelem, size_t size, int (*cmp) ( const void * ck, const void * ce) );
+void qsort( void * base, size_t nelem, size_t size, int (*cmp) ( const void * e1, const void * e2) );
#endif // __STDLIB_H