added new optional callbacks - alloc_heap & free_heap
This commit is contained in:
@ -917,6 +917,14 @@ struct moo_heap_t
|
||||
/* =========================================================================
|
||||
* VIRTUAL MACHINE PRIMITIVES
|
||||
* ========================================================================= */
|
||||
|
||||
typedef void* (*moo_alloc_heap_t) (moo_t* moo, moo_oow_t size);
|
||||
typedef void (*moo_free_heap_t) (moo_t* moo, void* ptr);
|
||||
|
||||
typedef void (*moo_log_write_t) (moo_t* moo, moo_oow_t mask, const moo_ooch_t* msg, moo_oow_t len);
|
||||
typedef void (*moo_syserrstrb_t) (moo_t* moo, int syserr, moo_bch_t* buf, moo_oow_t len);
|
||||
typedef void (*moo_syserrstru_t) (moo_t* moo, int syserr, moo_uch_t* buf, moo_oow_t len);
|
||||
|
||||
enum moo_vmprim_opendl_flag_t
|
||||
{
|
||||
MOO_VMPRIM_OPENDL_PFMOD = (1 << 0)
|
||||
@ -927,10 +935,6 @@ typedef void* (*moo_vmprim_dlopen_t) (moo_t* moo, const moo_ooch_t* name, int fl
|
||||
typedef void (*moo_vmprim_dlclose_t) (moo_t* moo, void* handle);
|
||||
typedef void* (*moo_vmprimt_dlgetsym_t) (moo_t* moo, void* handle, const moo_ooch_t* name);
|
||||
|
||||
typedef void (*moo_log_write_t) (moo_t* moo, moo_oow_t mask, const moo_ooch_t* msg, moo_oow_t len);
|
||||
typedef void (*moo_syserrstrb_t) (moo_t* moo, int syserr, moo_bch_t* buf, moo_oow_t len);
|
||||
typedef void (*moo_syserrstru_t) (moo_t* moo, int syserr, moo_uch_t* buf, moo_oow_t len);
|
||||
|
||||
typedef int (*moo_vmprim_startup_t) (moo_t* moo);
|
||||
typedef void (*moo_vmprim_cleanup_t) (moo_t* moo);
|
||||
typedef void (*moo_vmprim_gettime_t) (moo_t* moo, moo_ntime_t* now);
|
||||
@ -971,13 +975,17 @@ typedef void (*moo_vmprim_sleep_t) (
|
||||
|
||||
struct moo_vmprim_t
|
||||
{
|
||||
moo_vmprim_dlopen_t dl_open;
|
||||
moo_vmprim_dlclose_t dl_close;
|
||||
moo_vmprimt_dlgetsym_t dl_getsym;
|
||||
moo_alloc_heap_t alloc_heap;
|
||||
moo_free_heap_t free_heap;
|
||||
|
||||
moo_log_write_t log_write;
|
||||
moo_syserrstrb_t syserrstrb;
|
||||
moo_syserrstru_t syserrstru;
|
||||
|
||||
moo_vmprim_dlopen_t dl_open;
|
||||
moo_vmprim_dlclose_t dl_close;
|
||||
moo_vmprimt_dlgetsym_t dl_getsym;
|
||||
|
||||
moo_vmprim_startup_t vm_startup;
|
||||
moo_vmprim_cleanup_t vm_cleanup;
|
||||
moo_vmprim_gettime_t vm_gettime;
|
||||
|
Reference in New Issue
Block a user