summaryrefslogtreecommitdiff
path: root/include/stdlib.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/stdlib.h')
-rw-r--r--include/stdlib.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/include/stdlib.h b/include/stdlib.h
new file mode 100644
index 000000000..27c0a5885
--- /dev/null
+++ b/include/stdlib.h
@@ -0,0 +1,75 @@
+/* stdlib.h <ndf@linux.mit.edu> */
+#include <features.h>
+#include <sys/types.h>
+
+#ifndef __STDLIB_H
+#define __STDLIB_H
+
+/* Don't overwrite user definitions of NULL */
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
+
+/* For program termination */
+#define EXIT_FAILURE 1
+#define EXIT_SUCCESS 0
+
+extern void * malloc __P ((size_t));
+extern void * calloc __P ((size_t, size_t));
+extern void free __P ((void *));
+extern void * realloc __P ((void *, size_t));
+
+#ifdef DEBUG_MALLOC
+
+extern void * malloc_dbg __P ((size_t, char* func, char* file, int line));
+extern void * calloc_dbg __P ((size_t, size_t, char* func, char* file, int line));
+extern void free_dbg __P ((void *, char* func, char* file, int line));
+extern void * realloc_dbg __P ((void *, size_t, char* func, char* file, int line));
+
+#define malloc(x) malloc_dbg((x),__FUNCTION__,__FILE__,__LINE__)
+#define calloc(x,y) calloc_dbg((x),(y),__FUNCTION__,__FILE__,__LINE__)
+#define free(x) free_dbg((x),__FUNCTION__,__FILE__,__LINE__)
+#define realloc(x) realloc((x),__FUNCTION__,__FILE__,__LINE__)
+
+#endif
+
+extern int rand __P ((void));
+extern void srand __P ((unsigned int seed));
+
+extern long strtol __P ((const char * nptr, char ** endptr, int base));
+extern unsigned long strtoul __P ((const char * nptr,
+ char ** endptr, int base));
+#ifndef __HAS_NO_FLOATS__
+extern float strtod __P ((const char * nptr, char ** endptr));
+#endif
+
+extern char *getenv __P ((__const char *__name));
+
+extern int putenv __P ((__const char *__string));
+
+extern int setenv __P ((__const char *__name, __const char *__value,
+ int __replace));
+
+extern int system __P ((__const char *__command));
+
+extern int qsort __P ((char *base, int num, int size, int (*cmp)()));
+
+extern char * gcvt __P ((float number, size_t ndigit, char * buf));
+
+#define atof(x) strtod((x),(char**)0)
+
+/* Returned by `div'. */
+typedef struct
+ {
+ int quot; /* Quotient. */
+ int rem; /* Remainder. */
+ } div_t;
+
+/* Returned by `ldiv'. */
+typedef struct
+ {
+ long int quot; /* Quotient. */
+ long int rem; /* Remainder. */
+ } ldiv_t;
+
+#endif /* __STDLIB_H */