aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/include/stdlib.h
diff options
context:
space:
mode:
authorJohn "Lameguy" Wilbert Villamor <lameguy64@gmail.com>2022-09-26 16:49:56 +0800
committerGitHub <noreply@github.com>2022-09-26 16:49:56 +0800
commitc4a2533d21dfd05cde841ea48c67b05e0e6a853f (patch)
treec7ef61653b157b69fb0956709366996ddbc4ecfa /libpsn00b/include/stdlib.h
parenta8b404b3400c3ebd8e0b923dcaefcc49ea563e36 (diff)
parent86f0064afb8200e60dd80827535cac30d0eab028 (diff)
downloadpsn00bsdk-c4a2533d21dfd05cde841ea48c67b05e0e6a853f.tar.gz
Merge pull request #55 from spicyjpeg/psxmdec
Full MDEC support, C library refactors, cleanups and bugfixes (v0.20)
Diffstat (limited to 'libpsn00b/include/stdlib.h')
-rw-r--r--libpsn00b/include/stdlib.h47
1 files changed, 19 insertions, 28 deletions
diff --git a/libpsn00b/include/stdlib.h b/libpsn00b/include/stdlib.h
index 4c4fcd3..1888c69 100644
--- a/libpsn00b/include/stdlib.h
+++ b/libpsn00b/include/stdlib.h
@@ -1,36 +1,27 @@
/*
- * stdlib.h
- *
- * Standard library functions
- *
- * Inherited from PSXSDK
+ * PSn00bSDK standard library
+ * (C) 2019-2022 PSXSDK authors, Lameguy64, spicyjpeg - MPL licensed
*/
-#ifndef _STDLIB_H
-#define _STDLIB_H
+#ifndef __STDLIB_H
+#define __STDLIB_H
-#define RAND_MAX 0x7fff
+#include <stddef.h>
-/* Conversion functions (not yet implemented) */
+/* Definitions */
-/*
-extern int atoi(char *s);
-extern long atol(char *s);
-extern char atob(char *s); // Is this right?
-*/
-
-// Quick sort (not yet implemented)
+#define RAND_MAX 0x7fff
-//void qsort(void *base , int nel , int width , int (*cmp)(const void *,const void *));
+/* API */
#ifdef __cplusplus
extern "C" {
#endif
-extern int __argc;
-extern const char **__argv;
+extern int __argc;
+extern const char **__argv;
-int rand();
+int rand(void);
void srand(unsigned long seed);
int abs(int j);
@@ -39,16 +30,17 @@ long long strtoll(const char *nptr, char **endptr, int base);
long strtol(const char *nptr, char **endptr, int base);
long double strtold(const char *nptr, char **endptr);
-// Note: these use floats internally!
double strtod(const char *nptr, char **endptr);
float strtof(const char *nptr, char **endptr);
-// Memory allocation functions
-void _mem_init(int ram_size, int stack_max_size);
-void InitHeap(unsigned int *addr, int size);
-int SetHeapSize(int size);
-void *malloc(int size);
-void *calloc(int number, int size);
+void _mem_init(size_t ram_size, size_t stack_max_size);
+void InitHeap(void *addr, size_t size);
+//int SetHeapSize(size_t size);
+void *sbrk(ptrdiff_t incr);
+
+void *malloc(size_t size);
+void *calloc(size_t num, size_t size);
+void *realloc(void *ptr, size_t size);
void free(void *ptr);
#ifdef __cplusplus
@@ -56,4 +48,3 @@ void free(void *ptr);
#endif
#endif
-