]> pd.if.org Git - pdclib/blobdiff - includes/stdlib.h
Re-import from Subversion.
[pdclib] / includes / stdlib.h
index 4518f2273111f603df9b25fb88d1c8283133288d..2724dcfdb685c4d755e31e66a1a74cfc508f643c 100644 (file)
@@ -1,26 +1,35 @@
-// ----------------------------------------------------------------------------
-// $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
-
-// ----------------------------------------------------------------------------
-// MACROS
-
-#define EXIT_FAILURE // TODO
-#define EXIT_SUCCESS // TODO
-#define MB_CUR_MAX   // TODO
-#define NULL         0
-#define RAND_MAX     // TODO
-
-// ----------------------------------------------------------------------------
-// TYPEDEFS
+/* ----------------------------------------------------------------------------
+ * $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 _NULL
+#include "__intern.h"
+#endif /* _NULL */
+
+/* TODO: Documentation */
+
+/* ----------------------------------------------------------------------------
+ * MACROS
+ * --------------------------------------------------------------------------*/
+
+#define NULL _NULL
+
+#define EXIT_FAILURE /* TODO */
+#define EXIT_SUCCESS /* TODO */
+#define MB_CUR_MAX   /* TODO */
+#define RAND_MAX     /* TODO */
+
+/* ----------------------------------------------------------------------------
+ * TYPEDEFS
+ * --------------------------------------------------------------------------*/
 
 typedef struct
 {
@@ -39,42 +48,19 @@ typedef struct
     long long remainder;
 } lldiv_t;
 
-typedef size_t; // TODO
-
-#ifndef __cplusplus
-typedef wchar_t; // TODO
-#endif // __cplusplus
-
-// ----------------------------------------------------------------------------
-// FUNCTIONS - C++
+#ifndef _SIZE_T
+#define _SIZE_T _SIZE_T
+typedef __size_t size_t
+#endif /* _SIZE_T */
 
-#ifdef __cplusplus
+#ifndef _WCHAR_T
+#define _WCHAR_T _WCHAR_T
+typedef __wchar_t wchar_t
+#endif /* _WCHAR_T */
 
-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 );
-
-extern "C++" int atexit( void (*func) ( void ) );
-extern "C"   int atexit( void (*func) ( void ) );
-
-extern "C++" void * bsearch( const void * key, const void * base,
-                             size_t nelem, size_t size,
-                             int (*cmp) ( const void * ck, const void * ce ) );
-extern "C"   void * bsearch( const void * key, const void * base,
-                             size_t nelem, size_t size,
-                             int (*cmp) ( const void * ck, const void * ce ) );
-
-extern "C++" void qsort( void * base, size_t nelem, size_t size,
-                         int (*cmp) ( const void * e1, const void * e2 ) );
-extern "C"   void qsort( void * base, size_t nelem, size_t size,
-                         int (*cmp) ( const void * e1, const void * e2 ) );
-
-#endif // __cplusplus
-
-// ----------------------------------------------------------------------------
-// FUNCTIONS - Standard C
+/* ----------------------------------------------------------------------------
+ * FUNCTIONS
+ * --------------------------------------------------------------------------*/
 
 int abs( int i );
 long long llabs( long long i );
@@ -119,14 +105,8 @@ void abort( void );
 char * getenv( const char * name );
 int system( const char * s );
 
-#ifndef __cplusplus
-
 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 // __cplusplus
+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 */