1 /* 2 ** FFI C callback handling. 3 ** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h 4 */ 5 6 #ifndef _LJ_CCALLBACK_H 7 #define _LJ_CCALLBACK_H 8 9 #include "lj_obj.h" 10 #include "lj_ctype.h" 11 12 #if LJ_HASFFI 13 14 /* Really belongs to lj_vm.h. */ 15 LJ_ASMF void lj_vm_ffi_callback(void); 16 17 LJ_FUNC MSize lj_ccallback_ptr2slot(CTState *cts, void *p); 18 LJ_FUNCA lua_State * LJ_FASTCALL lj_ccallback_enter(CTState *cts, void *cf); 19 LJ_FUNCA void LJ_FASTCALL lj_ccallback_leave(CTState *cts, TValue *o); 20 LJ_FUNC void *lj_ccallback_new(CTState *cts, CType *ct, GCfunc *fn); 21 LJ_FUNC void lj_ccallback_mcode_free(CTState *cts); 22 23 #endif 24 25 #endif 26