spc476 / lua-conmanorg Goto Github PK
View Code? Open in Web Editor NEWUsefu Lua modules
License: GNU Lesser General Public License v3.0
Usefu Lua modules
License: GNU Lesser General Public License v3.0
This is a collection of Lua 5.1 .. 5.4 modules I've written. Yes, they include functionality found in other Lua modules like luasockets and luaposix. I wrote these not to reinvent the wheel (although I did) but to learn how to program in Lua. As such, I do find these modules useful and actually prefer them to such modules as luasockets and luaposix. Now, because of the functionality overlap of some of these modules with existing Lua modules, I decided to place them under a name that I know won't conflict with existing modules. I took a play out of the Java playbook and placed all these modules under the "org.conman" table. * * * * * MODULES AS LUAROCKS org.conman.const.exit (Lua) A table of standardize exit values. org.conman.const.gopher-types (Lua) A table mapping Gopher resource types (RFC-1436) to human readable types and back again. org.conman.env (C) A table containing all environtment variables. org.conman.errno (C) A table containing defined error codes from C and POSIX. org.conman.iconv (C) A wrapper for the GNU iconv library. org.conman.syslog (C) A wrapper for the syslog logging system. org.conman.tls (C) A wrapper for libtls from libressl, or libretls for OpenSSL. * * * * * MODULES IN C org.conman.base64 Conversion routines to and from various formulations of Base-64 org.conman.clock A POSIX timers interface. org.conman.fsys A module of POSIX functions releated to filesystems. org.conman.hash A module of standard hash functions as provided by libcrypto. org.conman.lfsr A function to generate 8, 16 or 32 bit linear feedback shift registers. org.conman.fsys.magic A wrapper around the GNU magic (file types) database. org.conman.net A module to wrap BSD/POSIX sockets programming. This supports IPv4, IPv6 and Unix sockets. org.conman.pollset A wrapper around the POSIX select() call, POSIX poll() call, the Linux epoll() call and the Mac OS-X kqueue() call, with the same API. org.conman.process A module of POSIX functions related to processes. org.conman.signal A wrapper around the ANSI signal() function, or the POSIX signal functions. org.conman.strcore Some functions working with strings written in C. org.conman.sys A table of various POSIX system dependent values. * * * * * MODULES IN LUA Modules written in Lua: org.conman.const.entity A table of HTML entities with their UTF-8 equivilents. org.conman.const.http-response A table of HTTP response codes. org.conman.date A module of some date related functions. org.conman.debug A module of some debug related functions. org.conman.getopt A module to handle parsing the command line. org.conman.mailcap A wrapper around the mailcap facility found on Unix systems. org.conman.string Some useful string functions (includes org.conman.strcore). org.conman.table Some useful table functions. org.conman.net.ios Implements an API similar to the Lua's file object API, but with callbacks to obtain the data. org.conman.net.tcp A module to turn a TCP connection into something that mimics the Lua's file:read()/file:write()/etc. API. org.conman.net.tls A module, with the API as org.conman.net.tcp, to manage TLS based connections. org.conman.nfl An event driven framework to manage network based connections via coroutines. org.conman.nfl.tcp A module, with a similar API to org.conman.net.tcp, to manage TCP connections via coroutines in an event driven environment. org.conman.nfl.tls A module, with a similar API to org.conman.net.tcp, to manage TLS-based connections via coroutines in an event driven environment. * * * * * Any modules found in this repository not listed above are either obsolete or experimental and sould probably not be used.
I'm trying to run make on ubuntu 14.04:
$ make
gcc -std=c99 -g -Wall -Wextra -pedantic -fPIC -I/var/tmp/lua/lua-5.3.4/src/ -g -shared -o lib/tcc.so src/tcc.c -ltcc
src/tcc.c: In function ‘tcclua_relocate’:
src/tcc.c:482:3: error: too many arguments to function ‘tcc_relocate’
size = tcc_relocate(*tcc,NULL);
^
In file included from src/tcc.c:49:0:
/usr/include/libtcc.h:96:15: note: declared here
LIBTCCAPI int tcc_relocate(TCCState *s1);
^
src/tcc.c:490:3: error: too many arguments to function ‘tcc_relocate’
rc = tcc_relocate(*tcc,mem);
^
In file included from src/tcc.c:49:0:
/usr/include/libtcc.h:96:15: note: declared here
LIBTCCAPI int tcc_relocate(TCCState *s1);
^
src/tcc.c: In function ‘tcclua_get_symbol’:
src/tcc.c:520:10: warning: ISO C forbids assignment between function pointer and ‘void *’ [-Wpedantic]
call = tcc_get_symbol(*tcc,luaL_checkstring(L,i));
^
make: *** [lib/tcc.so] Error 1
$
Please advise what I need to do to fix this failure. Thanks!
The docs on the README are severely out of date, as can be verified by a quick comparison between the README and the code comments/docs.
I'd suggest removing them.
Hi Sean !
Will it be possible to release it to luarocks ? so I could just do :
luarocks install lua-conmanorg
I hope you can see how easy it gets to install.
(ps I know I said I'd test SCTP but I haven't got around to it yet)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.