MIRROR: javascript for 馃悳's, a tiny runtime with big ambitions
1#ifndef ANT_FFI_H
2#define ANT_FFI_H
3
4#include "types.h"
5
6ant_value_t ffi_library(ant_t *js);
7
8ant_value_t ffi_library_close(ant_t *js, ant_value_t *args, int nargs);
9ant_value_t ffi_library_define(ant_t *js, ant_value_t *args, int nargs);
10ant_value_t ffi_library_call(ant_t *js, ant_value_t *args, int nargs);
11ant_value_t ffi_pointer_address(ant_t *js, ant_value_t *args, int nargs);
12ant_value_t ffi_pointer_is_null(ant_t *js, ant_value_t *args, int nargs);
13ant_value_t ffi_pointer_read(ant_t *js, ant_value_t *args, int nargs);
14ant_value_t ffi_pointer_write(ant_t *js, ant_value_t *args, int nargs);
15ant_value_t ffi_pointer_offset(ant_t *js, ant_value_t *args, int nargs);
16ant_value_t ffi_pointer_free(ant_t *js, ant_value_t *args, int nargs);
17ant_value_t ffi_callback_address(ant_t *js, ant_value_t *args, int nargs);
18ant_value_t ffi_callback_close(ant_t *js, ant_value_t *args, int nargs);
19ant_value_t ffi_function_address(ant_t *js, ant_value_t *args, int nargs);
20ant_value_t ffi_function_call(ant_t *js, ant_value_t *args, int nargs);
21
22void ffi_library_finalize(ant_t *js, ant_object_t *obj);
23void ffi_function_finalize(ant_t *js, ant_object_t *obj);
24void ffi_pointer_finalize(ant_t *js, ant_object_t *obj);
25void ffi_callback_finalize(ant_t *js, ant_object_t *obj);
26
27#endif