Mercurial > projects > ldc
diff lphobos/std/c/stdlib.d @ 1:c53b6e3fe49a trunk
[svn r5] Initial commit. Most things are very rough.
author | lindquist |
---|---|
date | Sat, 01 Sep 2007 21:43:27 +0200 |
parents | |
children | 61615fa85940 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lphobos/std/c/stdlib.d Sat Sep 01 21:43:27 2007 +0200 @@ -0,0 +1,90 @@ +/** + * C's <stdlib.h> + * Authors: Walter Bright, Digital Mars, www.digitalmars.com + * License: Public Domain + * Macros: + * WIKI=Phobos/StdCStdlib + */ + + +module std.c.stdlib; + +private import std.c.stddef; + +extern (C): + +enum +{ + _MAX_PATH = 260, + _MAX_DRIVE = 3, + _MAX_DIR = 256, + _MAX_FNAME = 256, + _MAX_EXT = 256, +} + +/// +struct div_t { int quot,rem; } +/// +struct ldiv_t { int quot,rem; } +/// +struct lldiv_t { long quot,rem; } + + div_t div(int,int); /// + ldiv_t ldiv(int,int); /// ditto + lldiv_t lldiv(long, long); /// ditto + + const int EXIT_SUCCESS = 0; /// + const int EXIT_FAILURE = 1; /// ditto + + int atexit(void (*)()); /// + void exit(int); /// ditto + void _exit(int); /// ditto + + int system(char *); + + void *alloca(uint); /// + + void *calloc(size_t, size_t); /// + void *malloc(size_t); /// ditto + void *realloc(void *, size_t); /// ditto + void free(void *); /// ditto + + void *bsearch(void *,void *,size_t,size_t, + int function(void *,void *)); /// + void qsort(void *base, size_t nelems, size_t elemsize, + int (*compare)(void *elem1, void *elem2)); /// ditto + + char* getenv(char*); /// + int setenv(char*, char*, int); /// extension to ISO C standard, not available on all platforms + void unsetenv(char*); /// extension to ISO C standard, not available on all platforms + + int rand(); /// + void srand(uint); /// ditto + int random(int num); /// ditto + void randomize(); /// ditto + + int getErrno(); /// ditto + int setErrno(int); /// ditto + +const int ERANGE = 34; // on both Windows and linux + +double atof(char *); /// +int atoi(char *); /// ditto +int atol(char *); /// ditto +float strtof(char *,char **); /// ditto +double strtod(char *,char **); /// ditto +real strtold(char *,char **); /// ditto +long strtol(char *,char **,int); /// ditto +uint strtoul(char *,char **,int); /// ditto +long atoll(char *); /// ditto +long strtoll(char *,char **,int); /// ditto +ulong strtoull(char *,char **,int); /// ditto + +char* itoa(int, char*, int); /// +char* ultoa(uint, char*, int); /// ditto + +int mblen(char *s, size_t n); /// +int mbtowc(wchar_t *pwc, char *s, size_t n); /// ditto +int wctomb(char *s, wchar_t wc); /// ditto +size_t mbstowcs(wchar_t *pwcs, char *s, size_t n); /// ditto +size_t wcstombs(char *s, wchar_t *pwcs, size_t n); /// ditto