diff options
Diffstat (limited to 'libpsn00b/include/cstdlib')
| -rw-r--r-- | libpsn00b/include/cstdlib | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/libpsn00b/include/cstdlib b/libpsn00b/include/cstdlib new file mode 100644 index 0000000..4fa859d --- /dev/null +++ b/libpsn00b/include/cstdlib @@ -0,0 +1,59 @@ +/* + * PSn00bSDK standard library + * (C) 2019-2023 PSXSDK authors, Lameguy64, spicyjpeg - MPL licensed + */ + +#pragma once + +#include <cstddef> + +namespace std { + +/* Definitions */ + +static constexpr int RAND_MAX = 0x7fff; + +/* Structure definitions */ + +struct HeapUsage { + size_t total; // Total size of heap + stack + size_t heap; // Amount of memory currently reserved for heap + size_t stack; // Amount of memory currently reserved for stack + size_t alloc; // Amount of memory currently allocated + size_t alloc_max; // Maximum amount of memory ever allocated +}; + +/* API */ + +extern "C" { + +extern int __argc; +extern const char **__argv; + +void abort(void); + +int rand(void); +void srand(int seed); + +int abs(int j); +long labs(long i); + +long strtol(const char *str, char **str_end, int base); +long long strtoll(const char *str, char **str_end, int base); +//float strtof(const char *str, char **str_end); +//double strtod(const char *str, char **str_end); +//long double strtold(const char *str, char **str_end); + +void InitHeap(void *addr, size_t size); +void *sbrk(ptrdiff_t incr); + +void TrackHeapUsage(ptrdiff_t alloc_incr); +void GetHeapUsage(HeapUsage *usage); + +void *malloc(size_t size); +void *calloc(size_t num, size_t size); +void *realloc(void *ptr, size_t size); +void free(void *ptr); + +} +} |
