diff options
author | Reiko Asakura | 2020-07-22 20:45:28 -0400 |
---|---|---|
committer | Reiko Asakura | 2020-07-22 20:45:28 -0400 |
commit | de22644bc8cc5fa7684077062717258d69b21c4e (patch) | |
tree | 202e507a54e9f089d22c790d8dd3f03bbeaa0b29 /include/user/kernel/clib.h | |
parent | Add SceSas internal functions (diff) | |
download | vds-libraries-de22644bc8cc5fa7684077062717258d69b21c4e.tar.gz |
Add all prototypes for SceClibMspace functions
Diffstat (limited to 'include/user/kernel/clib.h')
-rw-r--r-- | include/user/kernel/clib.h | 32 |
1 files changed, 29 insertions, 3 deletions
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 } |