Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

core.stdc.stdlib

D header file for C99.
This module contains bindings to selected types and functions from the standard C header <stdlib.h>. Note that this is not automatically generated, and may omit some types/functions from the original C header.
License:
Distributed under the Boost Software License 1.0. (See accompanying file LICENSE)
Authors:
Sean Kelly
Standards:
ISO/IEC 9899:1999 (E)
public import core.stdc.stddef;
alias _compare_fp_t = extern (C) int function(const(void*), const(void*)) @system;
nothrow @nogc @system inout(void)* bsearch(const void* key, inout(void)* base, size_t nmemb, size_t size, _compare_fp_t compar);
nothrow @nogc @system void qsort(void* base, size_t nmemb, size_t size, _compare_fp_t compar);
struct div_t;
struct ldiv_t;
struct lldiv_t;
enum int EXIT_SUCCESS;
enum int EXIT_FAILURE;
enum int MB_CUR_MAX;
enum int RAND_MAX;
nothrow @nogc @system double atof(scope const char* nptr);
nothrow @nogc @system int atoi(scope const char* nptr);
nothrow @nogc @system c_long atol(scope const char* nptr);
nothrow @nogc @system long atoll(scope const char* nptr);
nothrow @nogc @system double strtod(scope inout(char)* nptr, scope inout(char)** endptr);
nothrow @nogc @system float strtof(scope inout(char)* nptr, scope inout(char)** endptr);
nothrow @nogc @system c_long strtol(scope inout(char)* nptr, scope inout(char)** endptr, int base);
nothrow @nogc @system long strtoll(scope inout(char)* nptr, scope inout(char)** endptr, int base);
nothrow @nogc @system c_ulong strtoul(scope inout(char)* nptr, scope inout(char)** endptr, int base);
nothrow @nogc @system ulong strtoull(scope inout(char)* nptr, scope inout(char)** endptr, int base);
nothrow @nogc @system real strtold(scope inout(char)* nptr, scope inout(char)** endptr);
Added to Bionic since Lollipop.
nothrow @nogc @trusted int rand();
These two were added to Bionic in Lollipop.
nothrow @nogc @trusted void srand(uint seed);
nothrow @nogc @system void* malloc(size_t size);
nothrow @nogc @system void* calloc(size_t nmemb, size_t size);
nothrow @nogc @system void* realloc(void* ptr, size_t size);
nothrow @nogc @system void free(void* ptr);
nothrow @nogc @safe void abort();
nothrow @nogc @system void exit(int status);
nothrow @nogc @system int atexit(void function() func);
nothrow @nogc @system void _Exit(int status);
nothrow @nogc @system char* getenv(scope const char* name);
nothrow @nogc @system int system(scope const char* string);
pure nothrow @nogc @trusted int abs(int j);
pure nothrow @nogc @trusted c_long labs(c_long j);
pure nothrow @nogc @trusted long llabs(long j);
nothrow @nogc @trusted div_t div(int numer, int denom);
nothrow @nogc @trusted ldiv_t ldiv(c_long numer, c_long denom);
nothrow @nogc @trusted lldiv_t lldiv(long numer, long denom);
nothrow @nogc @system int mblen(scope const char* s, size_t n);
nothrow @nogc @system int mbtowc(scope wchar_t* pwc, scope const char* s, size_t n);
nothrow @nogc @system int wctomb(scope char* s, wchar_t wc);
nothrow @nogc @system size_t mbstowcs(scope wchar_t* pwcs, scope const char* s, size_t n);
nothrow @nogc @system size_t wcstombs(scope char* s, scope const wchar_t* pwcs, size_t n);
pure nothrow @nogc @system void* alloca(size_t size);