Mercurial > projects > ldc
diff druntime/import/stdc/posix/stdlib.d @ 760:6f33b427bfd1
Seems like hg ignores .di files, so I missed a bunch of stuff. complete druntime should be there now :)
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Wed, 12 Nov 2008 00:19:18 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/druntime/import/stdc/posix/stdlib.d Wed Nov 12 00:19:18 2008 +0100 @@ -0,0 +1,305 @@ +/** + * D header file for POSIX. + * + * Copyright: Public Domain + * License: Public Domain + * Authors: Sean Kelly + * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition + */ +module stdc.posix.stdlib; + +private import stdc.posix.config; +public import stdc.stdlib; +public import stdc.posix.sys.wait; + +extern (C): + +// +// Required (defined in stdc.stdlib) +// +/* +EXIT_FAILURE +EXIT_SUCCESS +NULL +RAND_MAX +MB_CUR_MAX +div_t +ldiv_t +lldiv_t +size_t +wchar_t + +void _Exit(int); +void abort(); +int abs(int); +int atexit(void function()); +double atof(in char*); +int atoi(in char*); +c_long atol(in char*); +long atoll(in char*); +void* bsearch(in void*, in void*, size_t, size_t, int function(in void*, in void*)); +void* calloc(size_t, size_t); +div_t div(int, int); +void exit(int); +void free(void*); +char* getenv(in char*); +c_long labs(c_long); +ldiv_t ldiv(c_long, c_long); +long llabs(long); +lldiv_t lldiv(long, long); +void* malloc(size_t); +int mblen(in char*, size_t); +size_t mbstowcs(wchar_t*, in char*, size_t); +int mbtowc(wchar_t*, in char*, size_t); +void qsort(void*, size_t, size_t, int function(in void*, in void*)); +int rand(); +void* realloc(void*, size_t); +void srand(uint); +double strtod(in char*, char**); +float strtof(in char*, char**); +c_long strtol(in char*, char**, int); +real strtold(in char*, char**); +long strtoll(in char*, char**, int); +c_ulong strtoul(in char*, char**, int); +ulong strtoull(in char*, char**, int); +int system(in char*); +size_t wcstombs(char*, in wchar_t*, size_t); +int wctomb(char*, wchar_t); +*/ + +// +// Advisory Information (ADV) +// +/* +int posix_memalign(void**, size_t, size_t); +*/ + +version( linux ) +{ + int posix_memalign(void**, size_t, size_t); +} + +// +// C Extension (CX) +// +/* +int setenv(in char*, in char*, int); +int unsetenv(in char*); +*/ + +version( linux ) +{ + int setenv(in char*, in char*, int); + int unsetenv(in char*); + + void* valloc(size_t); // LEGACY non-standard +} +else version( darwin ) +{ + int setenv(in char*, in char*, int); + int unsetenv(in char*); + + void* valloc(size_t); // LEGACY non-standard +} +else version( freebsd ) +{ + int setenv(in char*, in char*, int); + int unsetenv(in char*); + + void* valloc(size_t); // LEGACY non-standard +} + +// +// Thread-Safe Functions (TSF) +// +/* +int rand_r(uint*); +*/ + +version( linux ) +{ + int rand_r(uint*); +} +else version( darwin ) +{ + int rand_r(uint*); +} +else version( freebsd ) +{ + int rand_r(uint*); +} + +// +// XOpen (XSI) +// +/* +WNOHANG (defined in stdc.posix.sys.wait) +WUNTRACED (defined in stdc.posix.sys.wait) +WEXITSTATUS (defined in stdc.posix.sys.wait) +WIFEXITED (defined in stdc.posix.sys.wait) +WIFSIGNALED (defined in stdc.posix.sys.wait) +WIFSTOPPED (defined in stdc.posix.sys.wait) +WSTOPSIG (defined in stdc.posix.sys.wait) +WTERMSIG (defined in stdc.posix.sys.wait) + +c_long a64l(in char*); +double drand48(); +char* ecvt(double, int, int *, int *); // LEGACY +double erand48(ushort[3]); +char* fcvt(double, int, int *, int *); // LEGACY +char* gcvt(double, int, char*); // LEGACY +// per spec: int getsubopt(char** char* const*, char**); +int getsubopt(char**, in char**, char**); +int grantpt(int); +char* initstate(uint, char*, size_t); +c_long jrand48(ushort[3]); +char* l64a(c_long); +void lcong48(ushort[7]); +c_long lrand48(); +char* mktemp(char*); // LEGACY +int mkstemp(char*); +c_long mrand48(); +c_long nrand48(ushort[3]); +int posix_openpt(int); +char* ptsname(int); +int putenv(char*); +c_long random(); +char* realpath(in char*, char*); +ushort seed48(ushort[3]); +void setkey(in char*); +char* setstate(in char*); +void srand48(c_long); +void srandom(uint); +int unlockpt(int); +*/ + +version( linux ) +{ + //WNOHANG (defined in stdc.posix.sys.wait) + //WUNTRACED (defined in stdc.posix.sys.wait) + //WEXITSTATUS (defined in stdc.posix.sys.wait) + //WIFEXITED (defined in stdc.posix.sys.wait) + //WIFSIGNALED (defined in stdc.posix.sys.wait) + //WIFSTOPPED (defined in stdc.posix.sys.wait) + //WSTOPSIG (defined in stdc.posix.sys.wait) + //WTERMSIG (defined in stdc.posix.sys.wait) + + c_long a64l(in char*); + double drand48(); + char* ecvt(double, int, int *, int *); // LEGACY + double erand48(ushort[3]); + char* fcvt(double, int, int *, int *); // LEGACY + char* gcvt(double, int, char*); // LEGACY + int getsubopt(char**, in char**, char**); + int grantpt(int); + char* initstate(uint, char*, size_t); + c_long jrand48(ushort[3]); + char* l64a(c_long); + void lcong48(ushort[7]); + c_long lrand48(); + char* mktemp(char*); // LEGACY + //int mkstemp(char*); + c_long mrand48(); + c_long nrand48(ushort[3]); + int posix_openpt(int); + char* ptsname(int); + int putenv(char*); + c_long random(); + char* realpath(in char*, char*); + ushort seed48(ushort[3]); + void setkey(in char*); + char* setstate(in char*); + void srand48(c_long); + void srandom(uint); + int unlockpt(int); + + static if( __USE_LARGEFILE64 ) + { + int mkstemp64(char*); + alias mkstemp64 mkstemp; + } + else + { + int mkstemp(char*); + } +} +else version( darwin ) +{ + //WNOHANG (defined in stdc.posix.sys.wait) + //WUNTRACED (defined in stdc.posix.sys.wait) + //WEXITSTATUS (defined in stdc.posix.sys.wait) + //WIFEXITED (defined in stdc.posix.sys.wait) + //WIFSIGNALED (defined in stdc.posix.sys.wait) + //WIFSTOPPED (defined in stdc.posix.sys.wait) + //WSTOPSIG (defined in stdc.posix.sys.wait) + //WTERMSIG (defined in stdc.posix.sys.wait) + + c_long a64l(in char*); + double drand48(); + char* ecvt(double, int, int *, int *); // LEGACY + double erand48(ushort[3]); + char* fcvt(double, int, int *, int *); // LEGACY + char* gcvt(double, int, char*); // LEGACY + int getsubopt(char**, in char**, char**); + int grantpt(int); + char* initstate(uint, char*, size_t); + c_long jrand48(ushort[3]); + char* l64a(c_long); + void lcong48(ushort[7]); + c_long lrand48(); + char* mktemp(char*); // LEGACY + int mkstemp(char*); + c_long mrand48(); + c_long nrand48(ushort[3]); + int posix_openpt(int); + char* ptsname(int); + int putenv(char*); + c_long random(); + char* realpath(in char*, char*); + ushort seed48(ushort[3]); + void setkey(in char*); + char* setstate(in char*); + void srand48(c_long); + void srandom(uint); + int unlockpt(int); +} +else version( freebsd ) +{ + //WNOHANG (defined in stdc.posix.sys.wait) + //WUNTRACED (defined in stdc.posix.sys.wait) + //WEXITSTATUS (defined in stdc.posix.sys.wait) + //WIFEXITED (defined in stdc.posix.sys.wait) + //WIFSIGNALED (defined in stdc.posix.sys.wait) + //WIFSTOPPED (defined in stdc.posix.sys.wait) + //WSTOPSIG (defined in stdc.posix.sys.wait) + //WTERMSIG (defined in stdc.posix.sys.wait) + + c_long a64l(in char*); + double drand48(); + //char* ecvt(double, int, int *, int *); // LEGACY + double erand48(ushort[3]); + //char* fcvt(double, int, int *, int *); // LEGACY + //char* gcvt(double, int, char*); // LEGACY + int getsubopt(char**, in char**, char**); + int grantpt(int); + char* initstate(uint, char*, size_t); + c_long jrand48(ushort[3]); + char* l64a(c_long); + void lcong48(ushort[7]); + c_long lrand48(); + char* mktemp(char*); // LEGACY + int mkstemp(char*); + c_long mrand48(); + c_long nrand48(ushort[3]); + int posix_openpt(int); + char* ptsname(int); + int putenv(char*); + c_long random(); + char* realpath(in char*, char*); + ushort seed48(ushort[3]); + void setkey(in char*); + char* setstate(in char*); + void srand48(c_long); + void srandom(uint); + int unlockpt(int); +}