1
|
1 /**
|
|
2 * C's <stdlib.h>
|
|
3 * Authors: Walter Bright, Digital Mars, www.digitalmars.com
|
|
4 * License: Public Domain
|
|
5 * Macros:
|
|
6 * WIKI=Phobos/StdCStdlib
|
|
7 */
|
|
8
|
|
9
|
|
10 module std.c.stdlib;
|
|
11
|
|
12 private import std.c.stddef;
|
|
13
|
|
14 extern (C):
|
|
15
|
|
16 enum
|
|
17 {
|
|
18 _MAX_PATH = 260,
|
|
19 _MAX_DRIVE = 3,
|
|
20 _MAX_DIR = 256,
|
|
21 _MAX_FNAME = 256,
|
|
22 _MAX_EXT = 256,
|
|
23 }
|
|
24
|
|
25 ///
|
|
26 struct div_t { int quot,rem; }
|
|
27 ///
|
|
28 struct ldiv_t { int quot,rem; }
|
|
29 ///
|
|
30 struct lldiv_t { long quot,rem; }
|
|
31
|
|
32 div_t div(int,int); ///
|
|
33 ldiv_t ldiv(int,int); /// ditto
|
|
34 lldiv_t lldiv(long, long); /// ditto
|
|
35
|
|
36 const int EXIT_SUCCESS = 0; ///
|
|
37 const int EXIT_FAILURE = 1; /// ditto
|
|
38
|
|
39 int atexit(void (*)()); ///
|
|
40 void exit(int); /// ditto
|
|
41 void _exit(int); /// ditto
|
|
42
|
|
43 int system(char *);
|
|
44
|
|
45 void *alloca(uint); ///
|
|
46
|
|
47 void *calloc(size_t, size_t); ///
|
|
48 void *malloc(size_t); /// ditto
|
|
49 void *realloc(void *, size_t); /// ditto
|
|
50 void free(void *); /// ditto
|
|
51
|
|
52 void *bsearch(void *,void *,size_t,size_t,
|
|
53 int function(void *,void *)); ///
|
|
54 void qsort(void *base, size_t nelems, size_t elemsize,
|
|
55 int (*compare)(void *elem1, void *elem2)); /// ditto
|
|
56
|
|
57 char* getenv(char*); ///
|
|
58 int setenv(char*, char*, int); /// extension to ISO C standard, not available on all platforms
|
|
59 void unsetenv(char*); /// extension to ISO C standard, not available on all platforms
|
|
60
|
|
61 int rand(); ///
|
|
62 void srand(uint); /// ditto
|
|
63 int random(int num); /// ditto
|
|
64 void randomize(); /// ditto
|
|
65
|
|
66 int getErrno(); /// ditto
|
|
67 int setErrno(int); /// ditto
|
|
68
|
|
69 const int ERANGE = 34; // on both Windows and linux
|
|
70
|
|
71 double atof(char *); ///
|
|
72 int atoi(char *); /// ditto
|
|
73 int atol(char *); /// ditto
|
|
74 float strtof(char *,char **); /// ditto
|
|
75 double strtod(char *,char **); /// ditto
|
|
76 real strtold(char *,char **); /// ditto
|
|
77 long strtol(char *,char **,int); /// ditto
|
|
78 uint strtoul(char *,char **,int); /// ditto
|
|
79 long atoll(char *); /// ditto
|
|
80 long strtoll(char *,char **,int); /// ditto
|
|
81 ulong strtoull(char *,char **,int); /// ditto
|
|
82
|
|
83 char* itoa(int, char*, int); ///
|
|
84 char* ultoa(uint, char*, int); /// ditto
|
|
85
|
|
86 int mblen(char *s, size_t n); ///
|
|
87 int mbtowc(wchar_t *pwc, char *s, size_t n); /// ditto
|
|
88 int wctomb(char *s, wchar_t wc); /// ditto
|
|
89 size_t mbstowcs(wchar_t *pwcs, char *s, size_t n); /// ditto
|
|
90 size_t wcstombs(char *s, wchar_t *pwcs, size_t n); /// ditto
|