pkgsrc/devel/lua-ljsyscall/DESCR
alnsn 8f0ac219dd Import lua-ljsyscall version 0.10 by Justin Cormack.
What? An FFI implementation of the Linux, NetBSD, FreeBSD and OSX
kernel ABIs for LuaJIT. This means you will be able to program all
the functionality the Unix kernel provides to userspace directly
in Lua. You can view it as a high level language equivalent of the
Busybox project in a way, although the functionality it provides
is somewhat different, and the interface very different.

Why? First it provides a comprehensive set of system call APIs for
programming sockets, files and so on, including the more obscure
things (eg file change notifications). Second it provides higher
level interfaces such as network interface configuration, so your
application can control its entire runtime interface including IP
addresses routing and so on. Third it provides tools for added
security, such as support for Linux namespaces (containers), system
call filtering (seccomp type 2), capabilities and so on, all with
a script language interface that is much simpler to use than the
C interface. As it is Lua based it can easily be embedded in another
language; in the future ports to other scripting languages are
planned. It also serves as a way of learning how the operating
system interfaces work in a more forgiving environment than C.
2015-04-03 20:20:54 +00:00

20 lines
1.2 KiB
Text

What? An FFI implementation of the Linux, NetBSD, FreeBSD and OSX
kernel ABIs for LuaJIT. This means you will be able to program all
the functionality the Unix kernel provides to userspace directly
in Lua. You can view it as a high level language equivalent of the
Busybox project in a way, although the functionality it provides
is somewhat different, and the interface very different.
Why? First it provides a comprehensive set of system call APIs for
programming sockets, files and so on, including the more obscure
things (eg file change notifications). Second it provides higher
level interfaces such as network interface configuration, so your
application can control its entire runtime interface including IP
addresses routing and so on. Third it provides tools for added
security, such as support for Linux namespaces (containers), system
call filtering (seccomp type 2), capabilities and so on, all with
a script language interface that is much simpler to use than the
C interface. As it is Lua based it can easily be embedded in another
language; in the future ports to other scripting languages are
planned. It also serves as a way of learning how the operating
system interfaces work in a more forgiving environment than C.