scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | README | LICENSE

stdlib.h (2474B)


      1 #ifndef _STDLIB_H
      2 #define _STDLIB_H
      3 
      4 #include <arch/stdlib.h>
      5 
      6 #ifndef NULL
      7 #define NULL ((void *) 0)
      8 #endif
      9 
     10 #define _ATEXIT_MAX 32
     11 
     12 #define MB_CUR_MAX 1
     13 #define RAND_MAX 32767
     14 
     15 typedef struct {
     16 	int quot, rem;
     17 } div_t;
     18 
     19 typedef struct {
     20 	long quot, rem;
     21 } ldiv_t;
     22 
     23 typedef struct {
     24 	long long quot, rem;
     25 } lldiv_t;
     26 
     27 extern double atof(const char *nptr);
     28 extern int atoi(const char *nptr);
     29 extern long int atol(const char *nptr);
     30 extern long long int atoll(const char *nptr);
     31 extern double strtod(const char * restrict nptr, char ** restrict endptr);
     32 extern float strtof(const char * restrict nptr, char ** restrict endptr);
     33 extern long double strtold(const char * restrict nptr, char ** restrict endptr);
     34 extern long int strtol(const char * restrict nptr, char ** restrict endptr, int base);
     35 extern long long int strtoll(const char * restrict nptr, char ** restrict endptr,
     36                              int base);
     37 extern unsigned long int strtoul(const char * restrict nptr, char ** restrict endptr,
     38                                  int base);
     39 extern unsigned long long int strtoull(const char * restrict nptr,
     40                                        char ** restrict endptr, int base);
     41 extern int rand(void);
     42 extern void srand(unsigned int seed);
     43 extern void *calloc(size_t nmemb, size_t size);
     44 extern void free(void *ptr);
     45 extern void *malloc(size_t size);
     46 extern void *realloc(void *ptr, size_t size);
     47 extern void abort(void);
     48 extern int atexit(void (*func)(void));
     49 extern void exit(int status);
     50 extern void _Exit(int status);
     51 extern char *getenv(const char *name);
     52 extern int system(const char *string);
     53 extern void *bsearch(const void *key, const void *base, size_t nmemb, size_t size,
     54                      int (*compar)(const void *, const void *));
     55 extern void qsort(void *base, size_t nmemb, size_t size,
     56                   int (*compar)(const void *, const void *));
     57 extern int abs(int j);
     58 extern long int labs(long int j);
     59 extern long long int llabs(long long int j);
     60 extern div_t div(int numer, int denom);
     61 extern ldiv_t ldiv(long int numer, long int denom);
     62 extern lldiv_t lldiv(long long int numer, long long int denom);
     63 extern int mblen(const char *s, size_t n);
     64 extern int mbtowc(wchar_t * restrict pwc, const char * restrict s, size_t n);
     65 extern int wctomb(char *s, wchar_t wchar);
     66 extern size_t mbstowcs(wchar_t * restrict pwcs, const char * restrict s, size_t n);
     67 extern size_t wcstombs(char * restrict s, const wchar_t * restrict pwcs, size_t n);
     68 
     69 #endif