1/*
2** FFI C callback handling.
3** Copyright (C) 2005-2021 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. */
15LJ_ASMF void lj_vm_ffi_callback(void);
16
17LJ_FUNC MSize lj_ccallback_ptr2slot(CTState *cts, void *p);
18LJ_FUNCA lua_State * LJ_FASTCALL lj_ccallback_enter(CTState *cts, void *cf);
19LJ_FUNCA void LJ_FASTCALL lj_ccallback_leave(CTState *cts, TValue *o);
20LJ_FUNC void *lj_ccallback_new(CTState *cts, CType *ct, GCfunc *fn);
21LJ_FUNC void lj_ccallback_mcode_free(CTState *cts);
22
23#endif
24
25#endif
26