Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/sys header file needed for lua(4)
details: https://anonhg.NetBSD.org/src/rev/c88b34083901
branches: trunk
changeset: 790536:c88b34083901
user: mbalmer <mbalmer%NetBSD.org@localhost>
date: Wed Oct 16 19:40:45 2013 +0000
description:
header file needed for lua(4)
diffstat:
sys/sys/lua.h | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 97 insertions(+), 0 deletions(-)
diffs (101 lines):
diff -r 816208d74d2f -r c88b34083901 sys/sys/lua.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/sys/lua.h Wed Oct 16 19:40:45 2013 +0000
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2011, 2013 Marc Balmer <mbalmer%NetBSD.org@localhost>.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the Author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef _SYS_LUA_H_
+#define _SYS_LUA_H_
+
+#include <lua.h> /* for lua_State */
+
+#define MAX_LUA_NAME 16
+#define MAX_LUA_DESC 64
+#define LUA_MAX_MODNAME 32
+
+struct lua_state_info {
+ char name[MAX_LUA_NAME];
+ char desc[MAX_LUA_DESC];
+ bool user;
+};
+
+struct lua_info {
+ int num_states; /* total number of created Lua states */
+ struct lua_state_info *states;
+};
+
+struct lua_create {
+ char name[MAX_LUA_NAME];
+ char desc[MAX_LUA_DESC];
+};
+
+struct lua_require {
+ char state[MAX_LUA_NAME];
+ char module[LUA_MAX_MODNAME];
+};
+
+struct lua_load {
+ char state[MAX_LUA_NAME];
+ char path[MAXPATHLEN];
+};
+
+#define LUAINFO _IOWR('l', 0, struct lua_info)
+
+#define LUACREATE _IOWR('l', 1, struct lua_create)
+#define LUADESTROY _IOWR('l', 2, struct lua_create)
+
+/* 'require' a module in a state */
+#define LUAREQUIRE _IOWR('l', 3, struct lua_require)
+
+/* loading Lua code into a Lua state */
+#define LUALOAD _IOWR('l', 4, struct lua_load)
+
+#ifdef _KERNEL
+extern int lua_mod_register(const char *, int (*)(void *));
+extern int lua_mod_unregister(const char *);
+
+typedef struct _klua_State {
+ lua_State *L;
+ kmutex_t ks_lock;
+ kcondvar_t ks_inuse_cv;
+ int ks_inuse;
+ bool ks_user; /* state created by user (ioctl) */
+} klua_State;
+
+extern int klua_lock(klua_State *);
+extern void klua_unlock(klua_State *);
+
+extern void klua_close(klua_State *);
+extern klua_State *klua_newstate(lua_Alloc, void *, const char *, const char *);
+
+extern void *lua_alloc(void *, void *, size_t, size_t);
+
+#endif
+
+#endif /* _SYS_LUA_H_ */
Home |
Main Index |
Thread Index |
Old Index