104 lines
1.9 KiB
C
104 lines
1.9 KiB
C
#ifndef __STDLIB_H
|
|
#define __STDLIB_H 1
|
|
|
|
/*
|
|
Adapt according to stddef.h.
|
|
*/
|
|
#ifndef __SIZE_T
|
|
#define __SIZE_T 1
|
|
#ifdef __SIZE_T_INT
|
|
typedef unsigned int size_t;
|
|
#else
|
|
typedef unsigned long size_t;
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef __WCHAR_T
|
|
#define __WCHAR_T 1
|
|
typedef char wchar_t;
|
|
#endif
|
|
|
|
#undef NULL
|
|
#define NULL ((void *)0)
|
|
|
|
/*
|
|
Adapt as needed.
|
|
*/
|
|
#undef EXIT_FAILURE
|
|
#define EXIT_FAILURE 1
|
|
|
|
#undef EXIT_SUCCESS
|
|
#define EXIT_SUCCESS 0
|
|
|
|
#undef RAND_MAX
|
|
#define RAND_MAX 32767
|
|
|
|
|
|
void exit(int);
|
|
void *malloc(size_t);
|
|
void *calloc(size_t,size_t);
|
|
void *realloc(void *,size_t);
|
|
void free(void *);
|
|
int system(const char *);
|
|
int rand(void);
|
|
void srand(unsigned int);
|
|
double atof(const char *);
|
|
int atoi(const char *);
|
|
long atol(const char *);
|
|
double strtod(const char *,char **);
|
|
long strtol(const char *,char **,int);
|
|
unsigned long strtoul(const char *,char **,int);
|
|
void abort(void);
|
|
int atexit(void (*)(void));
|
|
char *getenv(const char *);
|
|
void *bsearch(const void *,const void *,size_t,size_t,int (*)(const void *,const void *));
|
|
void qsort(void *,size_t,size_t,int (*)(const void *,const void *));
|
|
#if __STDC_VERSION__ >= 199901L
|
|
void _Exit(int);
|
|
long long atoll(const char *);
|
|
long long strtoll(const char *,char **,int);
|
|
unsigned long long strtoull(const char *,char **,int);
|
|
#endif
|
|
|
|
typedef struct {
|
|
int quot,rem;
|
|
} div_t;
|
|
|
|
typedef struct {
|
|
long quot,rem;
|
|
} ldiv_t;
|
|
|
|
#if __STDC_VERSION__ >= 199901L
|
|
typedef struct {
|
|
long long quot,rem;
|
|
} lldiv_t;
|
|
#endif
|
|
|
|
div_t div(int,int);
|
|
ldiv_t ldiv(long,long);
|
|
#if __STDC_VERSION__ >= 199901L
|
|
lldiv_t lldiv(long long,long long);
|
|
#endif
|
|
|
|
/*
|
|
These functions may be suited for inline-assembly.
|
|
*/
|
|
int abs(int);
|
|
long labs(long);
|
|
#if __STDC_VERSION__ >= 199901L
|
|
long long llabs(long long);
|
|
#endif
|
|
|
|
extern size_t _nalloc;
|
|
|
|
#define atof(s) strtod((s),(char **)NULL)
|
|
#define atoi(s) (int)strtol((s),(char **)NULL,10)
|
|
#define atol(s) strtol((s),(char **)NULL,10)
|
|
|
|
struct __exitfuncs{
|
|
struct __exitfuncs *next;
|
|
void (*func)(void);
|
|
};
|
|
|
|
#endif
|