21 lines
828 B
Plaintext
21 lines
828 B
Plaintext
|
|
type spl_vm_val_t = u64; // usize
|
|
|
|
#extern(vm) fn vm_new(): *any;
|
|
#extern(vm) fn vm_drop(vm: *any): void;
|
|
|
|
#extern(vm) fn vm_load(vm: *any, fpath: *u8): void;
|
|
#extern(vm) fn vm_load_from_buffer(vm: *any, buf: *any, len: usize): i32;
|
|
|
|
#extern(vm) fn vm_push(vm: *any, val: spl_vm_val_t): void;
|
|
#extern(vm) fn vm_call(vm: *any, name: *u8, nargs: u64): i32;
|
|
#extern(vm) fn vm_run(vm: *any): i32;
|
|
#extern(vm) fn vm_ret_val(vm: *any): spl_vm_val_t;
|
|
#extern(vm) fn vm_mem_alloc(vm: *any, size: usize): spl_vm_val_t;
|
|
#extern(vm) fn vm_mem_read(vm: *any, off: spl_vm_val_t, dst: *any, n: usize): i32;
|
|
#extern(vm) fn vm_mem_write(vm: *any, off: spl_vm_val_t, src: *any, n: usize): i32;
|
|
#extern(vm) fn vm_stack_get(vm: *any, index: usize): spl_vm_val_t;
|
|
#extern(vm) fn vm_set_foreign(vm: *any, entry: []u8, ctx: u64): i32;
|
|
|
|
fn main() {}
|