/*	@(#)stdlib.h	13.1 (RC International) 91/02/01 	*/

#ifndef _STDLIB_H
#define _STDLIB_H

#include <limits.h>		/* For RAND_MAX */

#define EXIT_FAILURE	1	/* exit() failure return */
#define EXIT_SUCCESS	0	/* exit() success return */

#ifndef NULL
#define NULL	0
#endif

#define RAND_MAX	INT_MAX	/* Max value from rand() */

#ifndef _SIZE_T
#define _SIZE_T
typedef	unsigned int	size_t;
#endif /* _SIZE_T */

#ifndef _WCHAR_T
#define _WCHAR_T
typedef long	wchar_t;
#endif /* _WCHAR_T */

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

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

#if defined(__STDC__)

extern double atof(char *);
extern int atoi(char *);
extern long int atol(char *);
extern double strtod(char *, char **);
extern long int strtol(char *, char **, int);

extern int rand(void);
extern void srand(unsigned int);

extern void *calloc(size_t, size_t);
extern void free(void *);
extern void *malloc(size_t);
extern void *realloc(void *, size_t);

extern void abort(void);
extern void exit(int);
extern char *getenv(char *);
extern int system(char *);

extern void *bsearch(void *, void *, size_t, size_t,
	int (*)(void *, void *));
extern void qsort(void *, size_t, size_t,
	int (*)(void *, void *));

extern int abs(int);

extern unsigned char	__ctype[];
#define MB_CUR_MAX	(int)__ctype[520]

#else /* Not __STDC__ */

extern double atof();
extern int atoi();
extern long int atol();
extern double strtod();
extern long int strtol();

extern int rand();
extern void srand();

extern void *calloc();
extern void free();
extern void *malloc();
extern void *realloc();

extern void abort();
extern void exit();
extern char *getenv();
extern int system();

extern void *bsearch();
extern void qsort();

extern int abs();

extern unsigned char	_ctype[];
#define MB_CUR_MAX	(int)_ctype[520]

#endif /* __STDC__ */

#define mblen(s, n)	mbtowc((wchar_t *)0, s, n)

#endif /* _STDLIB_H */
