From de22644bc8cc5fa7684077062717258d69b21c4e Mon Sep 17 00:00:00 2001 From: Reiko Asakura Date: Wed, 22 Jul 2020 20:45:28 -0400 Subject: Add all prototypes for SceClibMspace functions --- include/user/kernel/clib.h | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'include/user/kernel/clib.h') diff --git a/include/user/kernel/clib.h b/include/user/kernel/clib.h index b22eb3f..209f1a2 100644 --- a/include/user/kernel/clib.h +++ b/include/user/kernel/clib.h @@ -46,9 +46,35 @@ int sceClibMemcmp(const void *s1, const void *s2, SceSize len); void *sceClibMemchr(const void *src, int ch, SceSize len); -void *sceClibMspaceCreate(void *base, SceSize size); -void *sceClibMspaceMalloc(void *space, SceSize size); -void sceClibMspaceFree(void *space, void *ptr); +/* mspace functions */ + +typedef void* SceClibMspace; + +typedef struct SceClibMspaceStats { + SceSize maxSystemSize; + SceSize currentSystemSize; + SceSize maxInUseSize; + SceSize currentInUseSize; + SceSize reserved[4]; +} SceClibMspaceStats; + +/* create and destroy mspace */ +SceClibMspace sceClibMspaceCreate(void *base, SceSize capacity); +SceInt32 sceClibMspaceDestroy(SceClibMspace msp); + +/* allocator and deallocator */ +void *sceClibMspaceMalloc(SceClibMspace msp, SceSize size); +void sceClibMspaceFree(SceClibMspace msp, void *ptr); +void *sceClibMspaceCalloc(SceClibMspace msp, SceSize nelem, SceSize size); +void *sceClibMspaceMemalign(SceClibMspace msp, SceSize boundary, SceSize size); +void *sceClibMspaceRealloc(SceClibMspace msp, void *ptr, SceSize size); +void *sceClibMspaceReallocalign(SceClibMspace msp, void *ptr, SceSize size, SceSize boundary); + +/* utility */ +SceSize sceClibMspaceMallocUsableSize(void *p); +SceInt32 sceClibMspaceMallocStats(SceClibMspace msp, SceClibMspaceStats *buf); +SceInt32 sceClibMspaceMallocStatsFast(SceClibMspace msp, SceClibMspaceStats *buf); +SceInt32 sceClibMspaceIsHeapEmpty(SceClibMspace msp); #ifdef __cplusplus } -- cgit v1.2.3