2021-03-28 22:49:05 +02:00
|
|
|
#ifndef JKRASSERTHEAP_H
|
|
|
|
|
#define JKRASSERTHEAP_H
|
|
|
|
|
|
2021-05-03 02:03:24 +02:00
|
|
|
#include "JSystem/JKernel/JKRHeap.h"
|
2021-03-28 22:49:05 +02:00
|
|
|
|
2024-04-12 00:10:30 -06:00
|
|
|
/**
|
|
|
|
|
* @ingroup jsystem-jkernel
|
|
|
|
|
*
|
|
|
|
|
*/
|
2021-05-03 02:03:24 +02:00
|
|
|
class JKRAssertHeap : public JKRHeap {
|
|
|
|
|
protected:
|
2023-09-24 02:05:03 -07:00
|
|
|
JKRAssertHeap(void*, u32, JKRHeap*, bool);
|
2021-05-03 02:03:24 +02:00
|
|
|
virtual ~JKRAssertHeap();
|
|
|
|
|
|
|
|
|
|
public:
|
2022-06-01 04:23:39 -07:00
|
|
|
/* vt[04] */ virtual u32 getHeapType(void); /* override */
|
|
|
|
|
/* vt[05] */ virtual bool check(void); /* override */
|
|
|
|
|
/* vt[06] */ virtual bool dump_sort(void); /* override */
|
|
|
|
|
/* vt[07] */ virtual bool dump(void); /* override */
|
|
|
|
|
/* vt[08] */ virtual void do_destroy(void); /* override */
|
|
|
|
|
/* vt[09] */ virtual void* do_alloc(u32, int); /* override */
|
|
|
|
|
/* vt[10] */ virtual void do_free(void*); /* override */
|
|
|
|
|
/* vt[11] */ virtual void do_freeAll(void); /* override */
|
|
|
|
|
/* vt[12] */ virtual void do_freeTail(void); /* override */
|
|
|
|
|
/* vt[13] */ virtual void do_fillFreeArea(void); /* override */
|
|
|
|
|
/* vt[14] */ virtual s32 do_resize(void*, u32); /* override */
|
|
|
|
|
/* vt[15] */ virtual s32 do_getSize(void*); /* override */
|
|
|
|
|
/* vt[16] */ virtual s32 do_getFreeSize(void); /* override */
|
|
|
|
|
/* vt[17] */ virtual void* do_getMaxFreeBlock(void); /* override */
|
|
|
|
|
/* vt[18] */ virtual s32 do_getTotalFreeSize(void); /* override */
|
2022-06-01 03:49:32 -07:00
|
|
|
/* vt[19] */ virtual s32 do_changeGroupID(u8 param_1); /* override */
|
2022-06-01 04:23:39 -07:00
|
|
|
/* vt[20] */ virtual u8 do_getCurrentGroupId(void); /* override */
|
2021-05-03 02:03:24 +02:00
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
static JKRAssertHeap* create(JKRHeap*);
|
|
|
|
|
};
|
|
|
|
|
|
2021-03-28 22:49:05 +02:00
|
|
|
#endif /* JKRASSERTHEAP_H */
|