-// ----------------------------------------------------------------------------
-// $Id$
-// ----------------------------------------------------------------------------
-// Public Domain C Library - http://pdclib.sourceforge.net
-// This code is Public Domain. Use, modify, and redistribute at will.
-// ----------------------------------------------------------------------------
-// General utilities
-// ----------------------------------------------------------------------------
+/* ----------------------------------------------------------------------------
+ * $Id$
+ * ----------------------------------------------------------------------------
+ * Public Domain C Library - http://pdclib.sourceforge.net
+ * This code is Public Domain. Use, modify, and redistribute at will.
+ * ----------------------------------------------------------------------------
+ * General utilities
+ * --------------------------------------------------------------------------*/
-#ifndef __STDLIB_H
-#define __STDLIB_H __STDLIB_H
+#ifndef _STDLIB_H
+#define _STDLIB_H _STDLIB_H
-// TODO: Documentation
+#ifndef _NULL
+#include "__intern.h"
+#endif /* _NULL */
-// ----------------------------------------------------------------------------
-// MACROS
+/* TODO: Documentation */
-#define EXIT_FAILURE // TODO
-#define EXIT_SUCCESS // TODO
-#define MB_CUR_MAX // TODO
-#define NULL 0
-#define RAND_MAX // TODO
+/* ----------------------------------------------------------------------------
+ * MACROS
+ * --------------------------------------------------------------------------*/
-// ----------------------------------------------------------------------------
-// TYPEDEFS
+#define NULL _NULL
+
+#define EXIT_FAILURE /* TODO */
+#define EXIT_SUCCESS /* TODO */
+#define MB_CUR_MAX /* TODO */
+#define RAND_MAX /* TODO */
+
+/* ----------------------------------------------------------------------------
+ * TYPEDEFS
+ * --------------------------------------------------------------------------*/
typedef struct
{
long long remainder;
} lldiv_t;
-typedef size_t; // TODO - personality?
+#ifndef _SIZE_T
+#define _SIZE_T _SIZE_T
+typedef __size_t size_t
+#endif /* _SIZE_T */
-#ifndef __cplusplus
-typedef wchar_t; // TODO - personality?
-#endif // __cplusplus
+#ifndef _WCHAR_T
+#define _WCHAR_T _WCHAR_T
+typedef __wchar_t wchar_t
+#endif /* _WCHAR_T */
-// ----------------------------------------------------------------------------
-// FUNCTIONS
+/* ----------------------------------------------------------------------------
+ * FUNCTIONS
+ * --------------------------------------------------------------------------*/
int abs( int i );
long long llabs( long long i );
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
+#endif /* _STDLIB_H */