
/*
 *  STDLIB.H
 *
 */

#ifndef _STDLIB_H
#define _STDLIB_H

#ifndef _STDDEF_H
#include <stddef.h>
#endif

typedef struct div_t {
    int     quot;
    int     rem;
} div_t;

typedef struct ldiv_t {
    long    quot;
    long    rem;
} ldiv_t;

#define EXIT_FAILURE	1
#define EXIT_SUCCESS	0
#define MB_CUR_MAX	1
#ifndef MB_LEN_MAX
#define MB_LEN_MAX	2	/*  also set in limits.h    */
#endif
#define RAND_MAX	((1 << (8*sizeof(int)-1)) - 1)

extern void abort(void);
extern int abs(int);
extern int atexit(void (*)(void));
extern double atof(const char *);
extern int atoi(const char *);
extern long atol(const char *);
extern void *bsearch(const void *, const void *, size_t, size_t, int (*)(const void *, const char *));
extern void *calloc(size_t, size_t);
extern div_t div(int, int);
extern void exit(int);
extern void free(void *);
extern char *getenv(const char *);
extern long labs(long);
extern ldiv_t ldiv(long, long);
extern void *malloc(size_t);
extern int mblen(const char *, size_t);
extern size_t mbstowcs(wchar_t *, const char *, size_t);
extern int mbtowc(wchar_t *, const char *, size_t);
extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
extern int rand(void);
extern void *realloc(void *, size_t);
extern double strtod(const char *, char **);
extern long strtol(const char *,char **, int);
extern unsigned long strtoul(const char *, char **, int);
extern int system(const char *);
extern size_t wcstombs(wchar_t *, const char *, size_t);
extern int wctomb(char *, wchar_t);

#endif

