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