summaryrefslogtreecommitdiff
path: root/libpsx/include/stdlib.h
diff options
context:
space:
mode:
authorXavi Del Campo <xavi.dcr@tutanota.com>2020-01-31 10:32:23 +0100
committerXavi Del Campo <xavi.dcr@tutanota.com>2020-01-31 10:32:23 +0100
commit7c24e9a9b02b04dcaf9507acb94091ea70a2c02d (patch)
treec28d0748652ad4b4222309e46e6cfc82c0906220 /libpsx/include/stdlib.h
parenta2b7b6bb1cc2f4a3258b7b2dbc92399d151f864d (diff)
downloadpsxsdk-7c24e9a9b02b04dcaf9507acb94091ea70a2c02d.tar.gz
Imported pristine psxsdk-20190410 from official repo
Diffstat (limited to 'libpsx/include/stdlib.h')
-rw-r--r--libpsx/include/stdlib.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/libpsx/include/stdlib.h b/libpsx/include/stdlib.h
new file mode 100644
index 0000000..0242213
--- /dev/null
+++ b/libpsx/include/stdlib.h
@@ -0,0 +1,66 @@
+/*
+ * stdlib.h
+ *
+ * Standard library functions
+ *
+ * PSXSDK
+ */
+
+#ifndef _STDLIB_H
+#define _STDLIB_H
+
+typedef unsigned int size_t;
+typedef signed int ssize_t;
+
+/* Conversion functions */
+
+int atoi(const char *s);
+long atol(const char *s);
+char *itoa(int value, char *str, int base);
+char *ltoa(long value, char *str, int base);
+char *lltoa(long long value, char *str, int base);
+char *utoa(unsigned int value, char *str, int base);
+char *ultoa(unsigned long value, char *str, int base);
+char *ulltoa(unsigned long long value, char *str, int base);
+//extern char atob(char *s); // Is this right?
+
+
+// Random number functions
+
+#define RAND_MAX 0x7fffffff
+
+int rand(void);
+void srand(unsigned int seed);
+
+// Quick sort
+
+void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
+
+// Memory allocation functions
+
+//#warning "malloc() family of functions NEEDS MORE TESTING"
+
+void *malloc(size_t size);
+void free(void *buf);
+void *calloc(size_t number, size_t size);
+void *realloc(void *buf , size_t n);
+
+int abs(int x);
+long long strtoll(const char *nptr, char **endptr, int base);
+long strtol(const char *nptr, char **endptr, int base);
+double strtod(const char *nptr, char **endptr);
+long double strtold(const char *nptr, char **endptr);
+float strtof(const char *nptr, char **endptr);
+
+// Misc
+void abort(void);
+void exit(int status);
+void call_atexit_callbacks(void);
+
+// Program return codes
+
+#define EXIT_SUCCESS 0
+#define EXIT_FAILURE 1
+
+#endif
+