aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/include/stdlib.h
diff options
context:
space:
mode:
authorspicyjpeg <thatspicyjpeg@gmail.com>2022-10-08 12:44:34 +0200
committerspicyjpeg <thatspicyjpeg@gmail.com>2022-10-08 12:44:34 +0200
commit82a259240d9c63d4656b9dae0b46a3689840473b (patch)
treede216269b5f82d67bf8cf3d69ab715d7b0fcd80c /libpsn00b/include/stdlib.h
parent3acc4f93f3b6a96da484aab1f08d61f900085e43 (diff)
downloadpsn00bsdk-82a259240d9c63d4656b9dae0b46a3689840473b.tar.gz
Optimize memset(), add heap usage API, remove _mem_init()
Diffstat (limited to 'libpsn00b/include/stdlib.h')
-rw-r--r--libpsn00b/include/stdlib.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/libpsn00b/include/stdlib.h b/libpsn00b/include/stdlib.h
index 1888c69..f0753c1 100644
--- a/libpsn00b/include/stdlib.h
+++ b/libpsn00b/include/stdlib.h
@@ -12,6 +12,16 @@
#define RAND_MAX 0x7fff
+/* Structure definitions */
+
+typedef 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
+} HeapUsage;
+
/* API */
#ifdef __cplusplus
@@ -33,11 +43,12 @@ long double strtold(const char *nptr, char **endptr);
double strtod(const char *nptr, char **endptr);
float strtof(const char *nptr, char **endptr);
-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 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);