From 64bc6412188b141c010ac3b8e813b837dd991e80 Mon Sep 17 00:00:00 2001 From: Erik Andersen Date: Sun, 14 May 2000 04:16:35 +0000 Subject: Initial revision --- include/stdlib.h | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 include/stdlib.h (limited to 'include/stdlib.h') 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 */ +#include +#include + +#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 */ -- cgit v1.2.3