diff options
| author | spicyjpeg <thatspicyjpeg@gmail.com> | 2023-05-11 19:11:35 +0200 |
|---|---|---|
| committer | spicyjpeg <thatspicyjpeg@gmail.com> | 2023-05-11 19:11:35 +0200 |
| commit | 3b696fc431a9c3f2aa7ea4f27aec20ce5dd67859 (patch) | |
| tree | 3cf2dc24f38ad1b532f0ec913c3604d334e79872 /libpsn00b/include/cstdlib | |
| parent | ca6b54f3c15a7b00a5ede64ba452f2955a421a1e (diff) | |
| download | psn00bsdk-3b696fc431a9c3f2aa7ea4f27aec20ce5dd67859.tar.gz | |
Add C++ standard library headers, update beginner/cppdemo
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); + +} +} |
