From: Vladimír Čunát Date: Thu, 15 Jul 2021 10:06:35 +0000 (+0200) Subject: daemon/lua/kres-gen.lua: make it self-contained X-Git-Tag: v5.4.0~6^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aea0d11d63c2ac4fad43c3709a1177000499f346;p=thirdparty%2Fknot-resolver.git daemon/lua/kres-gen.lua: make it self-contained Now those type definitions can be simply loaded without any error, e.g. luajit daemon/lua/kres-gen.lua That will be useful for checking them without regenerating them. --- diff --git a/daemon/lua/kres-gen.lua b/daemon/lua/kres-gen.lua index 981d38fc0..e885c815d 100644 --- a/daemon/lua/kres-gen.lua +++ b/daemon/lua/kres-gen.lua @@ -2,6 +2,13 @@ local ffi = require('ffi') --[[ This file is generated by ./kres-gen.sh ]] ffi.cdef[[ +typedef long time_t; +typedef long __time_t; +typedef long __suseconds_t; +struct timeval { + __time_t tv_sec; + __suseconds_t tv_usec; +}; typedef struct knot_dump_style knot_dump_style_t; extern const knot_dump_style_t KNOT_DUMP_STYLE_DEFAULT; diff --git a/daemon/lua/kres-gen.sh b/daemon/lua/kres-gen.sh index 9151fea2d..1cb9bd115 100755 --- a/daemon/lua/kres-gen.sh +++ b/daemon/lua/kres-gen.sh @@ -51,6 +51,14 @@ printf -- "-- SPDX-License-Identifier: GPL-3.0-or-later\n\n" printf -- "local ffi = require('ffi')\n" printf -- "--[[ This file is generated by ./kres-gen.sh ]] ffi.cdef[[\n" +# Some system dependencies. TODO: this generated part isn't perfectly portable. +${CDEFS} ${LIBKRES} types <<-EOF + typedef time_t + __time_t + __suseconds_t + struct timeval +EOF + ## Various types (mainly), from libknot and libkres printf " diff --git a/daemon/lua/kres.lua b/daemon/lua/kres.lua index 640d8427d..3f6fa0c35 100644 --- a/daemon/lua/kres.lua +++ b/daemon/lua/kres.lua @@ -36,12 +36,6 @@ ffi.cdef[[ * Data structures */ -/* stdlib */ -typedef long time_t; -struct timeval { - time_t tv_sec; - time_t tv_usec; -}; struct sockaddr { uint16_t sa_family; uint8_t _stub[]; /* Do not touch */