stdlib.h - vx32 - Local 9vx git repository for patches.
 (HTM) git clone git://r-36.net/vx32
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       stdlib.h (2758B)
       ---
            1 #ifndef STDLIB_H
            2 #define STDLIB_H
            3 
            4 #include <stddef.h>
            5 #include <alloca.h>
            6 
            7 #define RAND_MAX        2147483646        // rand() returns values mod 2^31-1
            8 
            9 
           10 typedef struct {
           11         int quot;                        // quotient
           12         int rem;                        // remainder
           13 } div_t;
           14 typedef struct {
           15         long quot;                        // quotient
           16         long rem;                        // remainder
           17 } ldiv_t;
           18 typedef struct {
           19         long long quot;                        // quotient
           20         long long rem;                        // remainder
           21 } lldiv_t;
           22 
           23 
           24 // Process exit
           25 void exit(int status);
           26 void abort(void);
           27 int atexit(void (*func)(void));
           28 
           29 // Memory allocation
           30 void *malloc(size_t size);
           31 void *calloc(size_t nmemb, size_t size);
           32 void *realloc(void *ptr, size_t size);
           33 void *memalign(size_t boundary, size_t size);
           34 void free(void *ptr);
           35 
           36 // Numeric functions
           37 int abs(int i);
           38 long labs(long i);
           39 long long llabs(long long i);
           40 
           41 div_t div(int numer, int denom);
           42 ldiv_t ldiv(long numer, long denom);
           43 lldiv_t lldiv(long long numer, long long denom);
           44 
           45 // Numeric conversion
           46 int atoi(const char *str);
           47 long atol(const char *str);
           48 long long atoll(const char *str);
           49 double atof(const char *str);
           50 long strtol(const char *__restrict str,
           51                 char **__restrict endptr, int base);
           52 long long strtoll(const char *__restrict str,
           53                 char **__restrict endptr, int base);
           54 unsigned long strtoul(const char *__restrict str,
           55                 char **__restrict endptr, int base);
           56 unsigned long long strtoull(const char *__restrict str,
           57                 char **__restrict endptr, int base);
           58 float strtof(const char *__restrict nptr, char **__restrict endptr);;
           59 double strtod(const char *__restrict nptr, char **__restrict endptr);
           60 
           61 // Multibyte string conversion functions
           62 int mblen(const char *, size_t);
           63 int mbtowc(wchar_t *__restrict, const char *__restrict, size_t);
           64 size_t mbstowcs(wchar_t *__restrict, const char *__restrict, size_t);
           65 
           66 // Sorting and searching
           67 void qsort(void *base, size_t nelt, size_t eltsize,
           68                 int (*cmp)(const void *a, const void *b));
           69 void *bsearch(const void *key, const void *base, size_t nelt,
           70                 size_t eltsize, int (*cmp)(const void *a, const void *b));
           71 
           72 // Environment variables
           73 char *getenv(const char *name);
           74 int setenv(const char *envname, const char *envval, int overwrite);
           75 int unsetenv(const char *name);
           76 int putenv(const char *string);
           77 
           78 // Temporary files
           79 char *mktemp(char *tmpl);
           80 int mkstemp(char *tmpl);
           81 
           82 // Random numbers
           83 int rand(void);
           84 int rand_r(unsigned *seed);
           85 void srand(unsigned seed);
           86 
           87 double drand48(void);
           88 long lrand48(void);
           89 long mrand48(void);
           90 double erand48(unsigned short xsubi[3]);
           91 long nrand48(unsigned short xsubi[3]);
           92 long jrand48(unsigned short xsubi[3]);
           93 void srand48(long seedval);
           94 void lcong48(unsigned short param[7]);
           95 unsigned short *seed48(unsigned short seed16v[3]);
           96 
           97 // System commands
           98 int system(const char *command);
           99 
          100 void        abort(void);
          101 
          102 #define EXIT_SUCCESS 0
          103 #define EXIT_FAILURE 1
          104 
          105 #endif        // STDLIB_H