summaryrefslogtreecommitdiff
path: root/firmware/libc/include/stdlib.h
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2010-05-06 21:04:40 +0000
committerThomas Martitz <kugel@rockbox.org>2010-05-06 21:04:40 +0000
commit50a6ca39ad4ed01922aa4f755f0ca579788226cf (patch)
treec7881b015b220558167310345b162324c96be15a /firmware/libc/include/stdlib.h
parentadb506df14aded06ed6e9ebf8540e6fd383ffd6a (diff)
downloadrockbox-50a6ca39ad4ed01922aa4f755f0ca579788226cf.zip
rockbox-50a6ca39ad4ed01922aa4f755f0ca579788226cf.tar.gz
rockbox-50a6ca39ad4ed01922aa4f755f0ca579788226cf.tar.bz2
rockbox-50a6ca39ad4ed01922aa4f755f0ca579788226cf.tar.xz
Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/libc/include/stdlib.h')
-rw-r--r--firmware/libc/include/stdlib.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/firmware/libc/include/stdlib.h b/firmware/libc/include/stdlib.h
new file mode 100644
index 0000000..5f6db6d
--- /dev/null
+++ b/firmware/libc/include/stdlib.h
@@ -0,0 +1,58 @@
+/*
+ * stdlib.h
+ *
+ * Definitions for common types, variables, and functions.
+ */
+
+#ifndef _STDLIB_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _STDLIB_H_
+
+#include "_ansi.h"
+
+#define __need_size_t
+#define __need_wchar_t
+#include <stddef.h>
+
+#ifndef NULL
+#define NULL ((void*)0)
+#endif
+
+#define EXIT_FAILURE 1
+#define EXIT_SUCCESS 0
+
+_VOID _EXFUN(qsort,(_PTR __base, size_t __nmemb, size_t __size, int(*_compar)(const _PTR, const _PTR)));
+
+void *malloc(size_t);
+void *calloc (size_t nmemb, size_t size);
+void free(void *);
+void *realloc(void *, size_t);
+
+#define RAND_MAX INT_MAX
+
+void srand(unsigned int seed);
+int rand(void);
+
+#ifndef ABS
+#if defined(__GNUC__)
+#define ABS(a) ({typeof (a) ___a = (a); ___a < 0 ? -___a: ___a; })
+#else
+#define ABS(a) (((a) < 0) ? -(a) : (a))
+#endif /* __GNUC__ */
+#endif
+
+#define abs(x) ((int)ABS(x))
+#define labs(x) ((long)abs(x))
+
+#ifdef SIMULATOR
+void exit(int status);
+#endif
+
+int atoi (const char *str);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _STDLIB_H_ */