diff options
| author | Richard Qin <richard.qin.x@gmail.com> | 2026-07-11 22:48:30 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.x@gmail.com> | 2026-07-11 22:48:30 +0800 |
| commit | 3ad39e9878310e5317ee73c9b353c1e2c1c5c4ee (patch) | |
| tree | 4bd5a49ef60ad1e371c0984cd46838368c5ef83a /lib/libc/include/stdlib.h | |
| parent | 48ef95c24e9ac3d11200b61af617a01b10b507d1 (diff) | |
| download | lume-3ad39e9878310e5317ee73c9b353c1e2c1c5c4ee.tar.gz lume-3ad39e9878310e5317ee73c9b353c1e2c1c5c4ee.tar.xz | |
lib: establish Zircon libc++ and KTL foundation
Diffstat (limited to 'lib/libc/include/stdlib.h')
| -rw-r--r-- | lib/libc/include/stdlib.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/libc/include/stdlib.h b/lib/libc/include/stdlib.h new file mode 100644 index 0000000..45c5a21 --- /dev/null +++ b/lib/libc/include/stdlib.h @@ -0,0 +1,36 @@ +// Copyright 2016 The Fuchsia Authors +// Copyright (c) 2008-2014 Travis Geiselbrecht +// +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file or at +// https://opensource.org/licenses/MIT + +#ifndef ZIRCON_KERNEL_LIB_LIBC_INCLUDE_STDLIB_H_ +#define ZIRCON_KERNEL_LIB_LIBC_INCLUDE_STDLIB_H_ + +#include <stddef.h> +#include <stdint.h> +#include <zircon/compiler.h> + +#ifdef _KERNEL +#include <lib/heap.h> // lib/heap provides malloc/free definitions. +#endif + +__BEGIN_CDECLS + +long strtol(const char *nptr, char **endptr, int base); +unsigned long int strtoul(const char *nptr, char **endptr, int base); + +void abort(void) __attribute__((noreturn)); + +#define RAND_MAX (0x7fffffff) + +int rand(void); +void srand(unsigned int seed); + +// Note: POSIX.1 specifies unsigned int, but we use uintptr_t instead. +int rand_r(uintptr_t *seed); + +__END_CDECLS + +#endif // ZIRCON_KERNEL_LIB_LIBC_INCLUDE_STDLIB_H_ |
