binana/profile/3.3.5a-windows-386/include/common/datarecycler.h

40 lines
818 B
C
Raw Normal View History

#ifndef COMMON_DATA_RECYCLER_H
#define COMMON_DATA_RECYCLER_H
#include "system/types.h"
DECLARE_STRUCT(CDataRecycler);
DECLARE_STRUCT(CDataRecycler__vtable);
DECLARE_STRUCT(CDataRecycler__NodeBlock);
DECLARE_STRUCT(CDataRecycler__Node);
struct CDataRecycler__vtable {
void* v_fn_00;
void* v_fn_01;
void* v_fn_02;
void* v_fn_03;
void* v_fn_04;
};
struct CDataRecycler__Node {
CDataRecycler__Node* m_next;
void* m_data;
uint32_t m_bytes;
};
struct CDataRecycler__NodeBlock {
CDataRecycler__NodeBlock* m_next;
CDataRecycler__Node m_nodes[1];
};
struct CDataRecycler {
CDataRecycler__vtable* v_vtable;
int32_t m_nodesRecyclable;
uint32_t m_nodesPerBlock;
CDataRecycler__NodeBlock* m_nodeBlockList;
CDataRecycler__Node* m_nodeFullList;
CDataRecycler__Node* m_nodeEmptyList;
};
#endif