nixio:
authorSteven Barth <steven@midlink.org>
Tue, 14 Jul 2009 15:21:00 +0000 (15:21 +0000)
committerSteven Barth <steven@midlink.org>
Tue, 14 Jul 2009 15:21:00 +0000 (15:21 +0000)
Add Rockspec
Add bswap to nixio.bit
Fix nixio.bit documentation

libs/nixio/docsrc/nixio.bit.lua
libs/nixio/nixio-0.3-1.rockspec [new file with mode: 0644]
libs/nixio/src/bit.c

index 3bdad51f2f53c4f886e24e37533bf745cbfe2218..6951dd5321552da33359ec41503c3e4d03cf665a 100644 (file)
@@ -10,6 +10,12 @@ module "nixio.bit"
 -- @param ...  More Operands
 -- @return number
 
+--- Invert given number.
+-- @class function
+-- @name bnot
+-- @param oper Operand
+-- @return number
+
 --- Bitwise AND several numbers.
 -- @class function
 -- @name band
@@ -28,21 +34,21 @@ module "nixio.bit"
 
 --- Left shift a number.
 -- @class function
--- @name shl
+-- @name lshift
 -- @param oper number
 -- @param shift        bits to shift 
 -- @return number
 
 --- Right shift a number.
 -- @class function
--- @name shr
+-- @name rshift
 -- @param oper number
 -- @param shift        bits to shift 
 -- @return number
 
 --- Arithmetically right shift a number.
 -- @class function
--- @name ashr
+-- @name arshift
 -- @param oper number
 -- @param shift        bits to shift 
 -- @return number
diff --git a/libs/nixio/nixio-0.3-1.rockspec b/libs/nixio/nixio-0.3-1.rockspec
new file mode 100644 (file)
index 0000000..755cf81
--- /dev/null
@@ -0,0 +1,37 @@
+package = "nixio"
+version = "0.3-1"
+source = {
+   url = "http://dev.luci.freifunk-halle.net/nixio/nixio-0.3.tar.bz2"
+}
+description = {
+   summary = "System, Networking and I/O library for Lua",
+   detailed = [[
+      Nixio is a multi-platform library offering a wide variety
+      of features such as IPv4, IPv6 and UNIX networking, large file I/O, file
+      system operations, system and process control, POSIX user/group management,
+      basic cryptographical hashing, hmac and TLS support, bit operations and
+      binary conversion.
+   ]],
+   homepage = "http://luci.subsignal.org",
+   license = "Apache 2.0",
+   maintainer = "Steven Barth",
+}
+dependencies = {
+   "lua >= 5.1"
+}
+external_dependencies = {
+   OPENSSL = {
+      header = "openssl/ssl.h",
+   }
+}
+build = {
+   type = "make",
+   build_variables = {
+      NIXIO_LDFLAGS = "-lcrypt -L$(OPENSSL_LIBDIR) -I$(OPENSSL_INCDIR)",
+      LUA_CFLAGS = "$(CFLAGS) -I$(LUA_INCDIR)",
+   },
+   install_variables = {
+      LUA_MODULEDIR = "$(LUADIR)",
+      LUA_LIBRARYDIR = "$(LIBDIR)",
+   },
+}
index 14fdecab13835cab1100922d4c41e151ac0c2455..9991a7ca412bbcc8408933c94d6e66e097eca2da 100644 (file)
@@ -97,6 +97,13 @@ static int nixio_bit_cast(lua_State *L) {
        return 1;
 }
 
+static int nixio_bit_swap(lua_State *L) {
+       uint64_t op = luaL_checknumber(L, 1);
+       op = (op >> 24) | ((op >> 8) & 0xff00) | ((op & 0xff00) << 8) | (op << 24);
+       lua_pushnumber(L, op);
+       return 1;
+}
+
 /* module table */
 static const luaL_reg R[] = {
        {"bor",                 nixio_bit_or},
@@ -111,6 +118,8 @@ static const luaL_reg R[] = {
        {"div",                 nixio_bit_div},
        {"check",               nixio_bit_check},
        {"cast",                nixio_bit_cast},
+       {"tobit",               nixio_bit_cast},
+       {"bswap",               nixio_bit_swap},
        {NULL,                  NULL}
 };