/* * stdlib.h compatibility shim * Public domain */ module libressl_d.compat.stdlib; private static import core.stdc.config; public import core.stdc.stdint; public import core.stdc.stdlib; public import core.sys.bionic.stdlib; public import core.sys.darwin.stdlib; public import core.sys.dragonflybsd.stdlib; public import core.sys.freebsd.stdlib; public import core.sys.netbsd.stdlib; public import core.sys.openbsd.stdlib; public import core.sys.posix.stdlib; public import core.sys.solaris.stdlib; public import libressl_d.compat.sys.types; extern (C): nothrow @nogc: static if (!__traits(compiles, arc4random)) { core.stdc.stdint.uint32_t arc4random(); } static if (!__traits(compiles, arc4random_buf)) { void arc4random_buf(void* _buf, size_t n); } static if (!__traits(compiles, arc4random_uniform)) { core.stdc.stdint.uint32_t arc4random_uniform(core.stdc.stdint.uint32_t upper_bound); } static if (!__traits(compiles, freezero)) { void freezero(void* ptr_, size_t sz); } static if (!__traits(compiles, getprogname)) { const (char)* getprogname(); } void* reallocarray(void*, size_t, size_t); static if (!__traits(compiles, recallocarray)) { void* recallocarray(void*, size_t, size_t, size_t); } static if (!__traits(compiles, strtonum)) { //core.stdc.config.cpp_longlong strtonum(const (char)* nptr, core.stdc.config.cpp_longlong minval, core.stdc.config.cpp_longlong maxval, const (char)** errstr); }