summaryrefslogtreecommitdiff
path: root/src/lj_clib.h
diff options
context:
space:
mode:
authorMike Pall <mike>2011-01-10 03:43:18 +0100
committerMike Pall <mike>2011-01-10 03:43:18 +0100
commitddf65963332f048838b759bb3d926c58b1b11ce3 (patch)
treec282aeef6c9c612ffa4f53f6e3465359c7b7edf7 /src/lj_clib.h
parentd215747fd5a97b3299262f8190803994a492b4d1 (diff)
downloadluajit2-ddf65963332f048838b759bb3d926c58b1b11ce3.tar.gz
FFI: Add ffi.load() and ffi.C default namespace.
Diffstat (limited to 'src/lj_clib.h')
-rw-r--r--src/lj_clib.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/lj_clib.h b/src/lj_clib.h
new file mode 100644
index 00000000..86045d24
--- /dev/null
+++ b/src/lj_clib.h
@@ -0,0 +1,26 @@
+/*
+** FFI C library loader.
+** Copyright (C) 2005-2011 Mike Pall. See Copyright Notice in luajit.h
+*/
+
+#ifndef _LJ_CLIB_H
+#define _LJ_CLIB_H
+
+#include "lj_obj.h"
+
+#if LJ_HASFFI
+
+/* C library namespace. */
+typedef struct CLibrary {
+ void *handle; /* Opaque handle for dynamic library loader. */
+ GCtab *cache; /* Cache for resolved symbols. Anchored in ud->env. */
+} CLibrary;
+
+LJ_FUNC TValue *lj_clib_index(lua_State *L, CLibrary *cl, GCstr *name);
+LJ_FUNC void lj_clib_load(lua_State *L, GCtab *mt, GCstr *name, int global);
+LJ_FUNC void lj_clib_unload(CLibrary *cl);
+LJ_FUNC void lj_clib_default(lua_State *L, GCtab *mt);
+
+#endif
+
+#endif