From f8334e283c5eb0efeb4bb8a134041e18388d5f01 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 21 Apr 2017 16:57:00 +0200 Subject: Lua init --- src/sysbin/lx/lxioctllib.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/sysbin/lx/lxioctllib.c (limited to 'src/sysbin/lx/lxioctllib.c') diff --git a/src/sysbin/lx/lxioctllib.c b/src/sysbin/lx/lxioctllib.c new file mode 100644 index 0000000..4b9be91 --- /dev/null +++ b/src/sysbin/lx/lxioctllib.c @@ -0,0 +1,62 @@ +/* +** Lua eXtended ioctl library +*/ + +#define lxioctllib_c +#define LUA_LIB + +#include + + +#include +#include +#include +#include +#include + +#include + +#include +#include + +#include +#include + +#include "lxlib.h" + + +static int ioctl_fb_get_info(lua_State *L) { + int fd = luaL_checkinteger(L, 1); + + fb_info_t mode; + int r = sc_ioctl(fd, IOCTL_FB_GET_INFO, &mode); + if (r == 1) { + lua_createtable(L, 0, 5); + setintfield(L, "width", mode.width); + setintfield(L, "height", mode.height); + setintfield(L, "pitch", mode.pitch); + setintfield(L, "bpp", mode.bpp); + setintfield(L, "memory_model", mode.memory_model); + } else { + lua_pushnil(L); + } + + return 1; +} + + +/* }====================================================== */ + +static const luaL_Reg ioctllib[] = { + {"fb_get_info", ioctl_fb_get_info}, + {NULL, NULL} +}; + + +LUAMOD_API int lx_open_ioctl (lua_State *L) { + luaL_newlib(L, ioctllib); + return 1; +} + + +/* vim: set sts=2 ts=2 sw=2 tw=0 et :*/ -- cgit v1.2.3