summaryrefslogtreecommitdiff
path: root/lib/libc/include/stdlib.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/include/stdlib.h')
-rw-r--r--lib/libc/include/stdlib.h36
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_