Wolfgang Thallergcc16 merge934c3885 months agoHistory
711 lines · 20.5 KB · D
RawDownload
/** * D header file for POSIX. * * Copyright: Copyright Sean Kelly 2005 - 2009. * License:   $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0). * Authors:   Sean Kelly * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition */ /*          Copyright Sean Kelly 2005 - 2009. * Distributed under the Boost Software License, Version 1.0. *    (See accompanying file LICENSE or copy at *          http://www.boost.org/LICENSE_1_0.txt) */module core.sys.posix.stdlib; import core.sys.posix.config;public import core.stdc.stdlib;public import core.sys.posix.sys.wait; version (OSX)    version = Darwin;else version (iOS)    version = Darwin;else version (TVOS)    version = Darwin;else version (WatchOS)    version = Darwin; version (Posix):extern (C):nothrow:@nogc: //// Required (defined in core.stdc.stdlib)///*EXIT_FAILUREEXIT_SUCCESSNULLRAND_MAXMB_CUR_MAXdiv_tldiv_tlldiv_tsize_twchar_t void    _Exit(int);void    abort();int     abs(int);int     atexit(void function());double  atof(const scope char*);int     atoi(const scope char*);c_long  atol(const scope char*);long    atoll(const scope char*);void*   bsearch(const scope void*, const scope void*, size_t, size_t, int function(const scope void*, const scope void*));void*   calloc(size_t, size_t);div_t   div(int, int);void    exit(int);void    free(void*);char*   getenv(const scope 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(const scope char*, size_t);size_t  mbstowcs(wchar_t*, const scope char*, size_t);int     mbtowc(wchar_t*, const scope char*, size_t);void    qsort(void*, size_t, size_t, int function(const scope void*, const scope void*));int     rand();void*   realloc(void*, size_t);void    srand(uint);double  strtod(const scope char*, char**);float   strtof(const scope char*, char**);c_long  strtol(const scope char*, char**, int);real    strtold(const scope char*, char**);long    strtoll(const scope char*, char**, int);c_ulong strtoul(const scope char*, char**, int);ulong   strtoull(const scope char*, char**, int);int     system(const scope char*);size_t  wcstombs(char*, const scope wchar_t*, size_t);int     wctomb(char*, wchar_t);*/ //// Advisory Information (ADV)///*int posix_memalign(void**, size_t, size_t);*/ version (CRuntime_Glibc){    int posix_memalign(scope void**, size_t, size_t) pure;}else version (FreeBSD){    int posix_memalign(scope void**, size_t, size_t) pure;}else version (NetBSD){    int posix_memalign(scope void**, size_t, size_t) pure;}else version (OpenBSD){    int posix_memalign(scope void**, size_t, size_t) pure;}else version (DragonFlyBSD){    int posix_memalign(scope void**, size_t, size_t) pure;}else version (Solaris){    int posix_memalign(scope void**, size_t, size_t) pure;}else version (Darwin){    int posix_memalign(scope void**, size_t, size_t) pure;}else version (CRuntime_Bionic){    // Added since Lollipop    int posix_memalign(scope void**, size_t, size_t) pure;}else version (CRuntime_Musl){    int posix_memalign(scope void**, size_t, size_t) pure;}else version (CRuntime_UClibc){    int posix_memalign(scope void**, size_t, size_t) pure;} //// C Extension (CX)///*int setenv(const scope char*, const scope char*, int);int unsetenv(const scope char*);*/ version (CRuntime_Glibc){    int setenv(const scope char*, const scope char*, int);    int unsetenv(const scope char*);     void* valloc(size_t); // LEGACY non-standard}else version (Darwin){    int setenv(const scope char*, const scope char*, int);    int unsetenv(const scope char*);     void* valloc(size_t); // LEGACY non-standard}else version (FreeBSD){    int setenv(const scope char*, const scope char*, int);    int unsetenv(const scope char*);     void* valloc(size_t); // LEGACY non-standard}else version (NetBSD){    int setenv(const scope char*, const scope char*, int);    int __unsetenv13(const scope char*);    alias unsetenv = __unsetenv13;    void* valloc(size_t); // LEGACY non-standard}else version (OpenBSD){    int setenv(const scope char*, const scope char*, int);    int unsetenv(const scope char*);     void* valloc(size_t); // LEGACY non-standard}else version (DragonFlyBSD){    int setenv(const scope char*, const scope char*, int);    int unsetenv(const scope char*);     void* valloc(size_t); // LEGACY non-standard}else version (CRuntime_Bionic){    int setenv(const scope char*, const scope char*, int);    int unsetenv(const scope char*);     void* valloc(size_t);}else version (Solaris){    int setenv(const scope char*, const scope char*, int);    int unsetenv(const scope char*);     void* valloc(size_t); // LEGACY non-standard}else version (CRuntime_Musl){    int setenv(const scope char*, const scope char*, int);    int unsetenv(const scope char*);}else version (CRuntime_UClibc){    int setenv(const scope char*, const scope char*, int);    int unsetenv(const scope char*);    void* valloc(size_t);} //// Thread-Safe Functions (TSF)///*int rand_r(uint*);*/ version (CRuntime_Glibc){    int rand_r(uint*);}else version (Darwin){    int rand_r(uint*);}else version (FreeBSD){    int rand_r(uint*);}else version (NetBSD){    int rand_r(uint*);}else version (OpenBSD){    int rand_r(uint*);}else version (DragonFlyBSD){    int rand_r(uint*);}else version (Solaris){    int rand_r(uint*);}else version (CRuntime_UClibc){    int rand_r(uint*);} //// XOpen (XSI)///*WNOHANG     (defined in core.sys.posix.sys.wait)WUNTRACED   (defined in core.sys.posix.sys.wait)WEXITSTATUS (defined in core.sys.posix.sys.wait)WIFEXITED   (defined in core.sys.posix.sys.wait)WIFSIGNALED (defined in core.sys.posix.sys.wait)WIFSTOPPED  (defined in core.sys.posix.sys.wait)WSTOPSIG    (defined in core.sys.posix.sys.wait)WTERMSIG    (defined in core.sys.posix.sys.wait) c_long a64l(const scope char*);double drand48();char*  ecvt(double, int, int *, int *); // LEGACYdouble erand48(ref ushort[3]);char*  fcvt(double, int, int *, int *); // LEGACYchar*  gcvt(double, int, char*); // LEGACY// per spec: int getsubopt(char** char* const*, char**);int    getsubopt(char**, const scope char**, char**);int    grantpt(int);char*  initstate(uint, char*, size_t);c_long jrand48(ref ushort[3]);char*  l64a(c_long);void   lcong48(ref ushort[7]);c_long lrand48();char*  mktemp(char*); // LEGACYint    mkstemp(char*);int    mkdtemp(char*); // Defined in IEEE 1003.1, 2008 Editionc_long mrand48();c_long nrand48(ref ushort[3]);int    posix_openpt(int);char*  ptsname(int);int    putenv(char*);c_long random();char*  realpath(const scope char*, char*);ushort *seed48(ref ushort[3]);void   setkey(const scope char*);char*  setstate(const scope char*);void   srand48(c_long);void   srandom(uint);int    unlockpt(int);*/ version (CRuntime_Glibc){    //WNOHANG     (defined in core.sys.posix.sys.wait)    //WUNTRACED   (defined in core.sys.posix.sys.wait)    //WEXITSTATUS (defined in core.sys.posix.sys.wait)    //WIFEXITED   (defined in core.sys.posix.sys.wait)    //WIFSIGNALED (defined in core.sys.posix.sys.wait)    //WIFSTOPPED  (defined in core.sys.posix.sys.wait)    //WSTOPSIG    (defined in core.sys.posix.sys.wait)    //WTERMSIG    (defined in core.sys.posix.sys.wait)     c_long a64l(const scope char*);    double drand48();    char*  ecvt(double, int, int *, int *); // LEGACY    double erand48(ref ushort[3]);    char*  fcvt(double, int, int *, int *); // LEGACY    char*  gcvt(double, int, char*); // LEGACY    int    getsubopt(char**, const scope char**, char**);    int    grantpt(int);    char*  initstate(uint, char*, size_t);    c_long jrand48(ref ushort[3]);    char*  l64a(c_long);    void   lcong48(ref ushort[7]);    c_long lrand48();    char*  mktemp(char*); // LEGACY    //int    mkstemp(char*);    char*  mkdtemp(char*); // Defined in IEEE 1003.1, 2008 Edition    c_long mrand48();    c_long nrand48(ref ushort[3]);    int    posix_openpt(int);    char*  ptsname(int);    int    putenv(char*);    c_long random();    char*  realpath(const scope char*, char*);    ushort *seed48(ref ushort[3]);    void   setkey(const scope char*);    char*  setstate(const scope char*);    void   srand48(c_long);    void   srandom(uint);    int    unlockpt(int);   static if ( __USE_LARGEFILE64 )  {    int    mkstemp64(char*);    alias  mkstemp = mkstemp64;  }  else  {    int    mkstemp(char*);  }}else version (Darwin){    //WNOHANG     (defined in core.sys.posix.sys.wait)    //WUNTRACED   (defined in core.sys.posix.sys.wait)    //WEXITSTATUS (defined in core.sys.posix.sys.wait)    //WIFEXITED   (defined in core.sys.posix.sys.wait)    //WIFSIGNALED (defined in core.sys.posix.sys.wait)    //WIFSTOPPED  (defined in core.sys.posix.sys.wait)    //WSTOPSIG    (defined in core.sys.posix.sys.wait)    //WTERMSIG    (defined in core.sys.posix.sys.wait)     c_long a64l(const scope char*);    double drand48();    char*  ecvt(double, int, int *, int *); // LEGACY    double erand48(ref ushort[3]);    char*  fcvt(double, int, int *, int *); // LEGACY    char*  gcvt(double, int, char*); // LEGACY    int    getsubopt(char**, const scope char**, char**);    int    grantpt(int);    char*  initstate(uint, char*, size_t);    c_long jrand48(ref ushort[3]);    char*  l64a(c_long);    void   lcong48(ref ushort[7]);    c_long lrand48();    char*  mktemp(char*); // LEGACY    int    mkstemp(char*);    char*  mkdtemp(char*); // Defined in IEEE 1003.1, 2008 Edition    c_long mrand48();    c_long nrand48(ref ushort[3]);    int    posix_openpt(int);    char*  ptsname(int);    int    putenv(char*);    c_long random();    char*  realpath(const scope char*, char*);    ushort *seed48(ref ushort[3]);    void   setkey(const scope char*);    char*  setstate(const scope char*);    void   srand48(c_long);    void   srandom(uint);    int    unlockpt(int);}else version (FreeBSD){    //WNOHANG     (defined in core.sys.posix.sys.wait)    //WUNTRACED   (defined in core.sys.posix.sys.wait)    //WEXITSTATUS (defined in core.sys.posix.sys.wait)    //WIFEXITED   (defined in core.sys.posix.sys.wait)    //WIFSIGNALED (defined in core.sys.posix.sys.wait)    //WIFSTOPPED  (defined in core.sys.posix.sys.wait)    //WSTOPSIG    (defined in core.sys.posix.sys.wait)    //WTERMSIG    (defined in core.sys.posix.sys.wait)     c_long a64l(const scope char*);    double drand48();    //char*  ecvt(double, int, int *, int *); // LEGACY    double erand48(ref ushort[3]);    //char*  fcvt(double, int, int *, int *); // LEGACY    //char*  gcvt(double, int, char*); // LEGACY    int    getsubopt(char**, const scope char**, char**);    int    grantpt(int);    char*  initstate(uint, char*, size_t);    c_long jrand48(ref ushort[3]);    char*  l64a(c_long);    void   lcong48(ref ushort[7]);    c_long lrand48();    char*  mktemp(char*); // LEGACY    int    mkstemp(char*);    char*  mkdtemp(char*); // Defined in IEEE 1003.1, 2008 Edition    c_long mrand48();    c_long nrand48(ref ushort[3]);    int    posix_openpt(int);    char*  ptsname(int);    int    putenv(char*);    c_long random();    char*  realpath(const scope char*, char*);    ushort *seed48(ref ushort[3]);    void   setkey(const scope char*);    char*  setstate(const scope char*);    void   srand48(c_long);    void   srandom(uint);    int    unlockpt(int);}else version (NetBSD){    //WNOHANG     (defined in core.sys.posix.sys.wait)    //WUNTRACED   (defined in core.sys.posix.sys.wait)    //WEXITSTATUS (defined in core.sys.posix.sys.wait)    //WIFEXITED   (defined in core.sys.posix.sys.wait)    //WIFSIGNALED (defined in core.sys.posix.sys.wait)    //WIFSTOPPED  (defined in core.sys.posix.sys.wait)    //WSTOPSIG    (defined in core.sys.posix.sys.wait)    //WTERMSIG    (defined in core.sys.posix.sys.wait)     c_long a64l(const scope char*);    double drand48();    //char*  ecvt(double, int, int *, int *); // LEGACY    double erand48(ref ushort[3]);    //char*  fcvt(double, int, int *, int *); // LEGACY    //char*  gcvt(double, int, char*); // LEGACY    int    getsubopt(char**, const scope char**, char**);    int    grantpt(int);    char*  initstate(uint, char*, size_t);    c_long jrand48(ref ushort[3]);    char*  l64a(c_long);    void   lcong48(ref ushort[7]);    c_long lrand48();    char*  mktemp(char*); // LEGACY    int    mkstemp(char*);    char*  mkdtemp(char*); // Defined in IEEE 1003.1, 2008 Edition    c_long mrand48();    c_long nrand48(ref ushort[3]);    int    posix_openpt(int);    char*  ptsname(int);    pragma(mangle, "__putenv50") int    putenv(char*);    c_long random();    char*  realpath(const scope char*, char*);    ushort *seed48(ref ushort[3]);    void   setkey(const scope char*);    char*  setstate(const scope char*);    void   srand48(c_long);    pragma(mangle, "__srandom60") void   srandom(uint);    int    unlockpt(int);}else version (OpenBSD){    //WNOHANG     (defined in core.sys.posix.sys.wait)    //WUNTRACED   (defined in core.sys.posix.sys.wait)    //WEXITSTATUS (defined in core.sys.posix.sys.wait)    //WIFEXITED   (defined in core.sys.posix.sys.wait)    //WIFSIGNALED (defined in core.sys.posix.sys.wait)    //WIFSTOPPED  (defined in core.sys.posix.sys.wait)    //WSTOPSIG    (defined in core.sys.posix.sys.wait)    //WTERMSIG    (defined in core.sys.posix.sys.wait)     c_long a64l(const scope char*);    double drand48();    //char*  ecvt(double, int, int *, int *); // LEGACY    double erand48(ref ushort[3]);    //char*  fcvt(double, int, int *, int *); // LEGACY    //char*  gcvt(double, int, char*); // LEGACY    int    getsubopt(char**, const scope char**, char**);    int    grantpt(int);    char*  initstate(uint, char*, size_t);    c_long jrand48(ref ushort[3]);    char*  l64a(c_long);    void   lcong48(ref ushort[7]);    c_long lrand48();    char*  mktemp(char*); // LEGACY    int    mkstemp(char*);    char*  mkdtemp(char*); // Defined in IEEE 1003.1, 2008 Edition    c_long mrand48();    c_long nrand48(ref ushort[3]);

Lines 1–500 of 711.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t