summaryrefslogtreecommitdiffstats
path: root/src/core/timespec.lua
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2021-07-17 07:11:12 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2021-07-17 07:11:12 +0000
commitb72837827d9290c7ec50b9e4b9e1a0f194ddccca (patch)
tree8df663325413d0f92086d740638555de6b779df7 /src/core/timespec.lua
parentAdding upstream version 1.1.0+debian. (diff)
downloaddnsjit-be78963741e5f69dc1ef588ab7370152b98ef8bc.tar.xz
dnsjit-be78963741e5f69dc1ef588ab7370152b98ef8bc.zip
Adding upstream version 1.2.1.upstream/1.2.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/core/timespec.lua')
-rw-r--r--src/core/timespec.lua26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/core/timespec.lua b/src/core/timespec.lua
index 0db4dd3..05c600f 100644
--- a/src/core/timespec.lua
+++ b/src/core/timespec.lua
@@ -19,14 +19,36 @@
-- dnsjit.core.receiver
-- Non-system depended time specification structure definition
-- typedef struct core_timespec {
--- uint64_t sec;
--- uint64_t nsec;
+-- int64_t sec;
+-- int64_t nsec;
-- } core_timespec_t;
-- .SS C
-- #include "core/timespec.h"
-- .SS Lua
-- require("dnsjit.core.timespec_h")
+-- .SS Lua functions
+-- local ts = require("dnsjit.core.timespec"):max_init()
--
-- Mainly used in C modules for a system independent time specification
-- structure that can be passed to Lua.
module(...,package.seeall)
+
+require("dnsjit.core.timespec_h")
+
+local ffi = require("ffi")
+
+local Timespec = {}
+
+-- Return a new structure with both
+-- .I sec
+-- and
+-- .I nsec
+-- set to 2LL ^ 62, the maximum positive values according to Lua.
+function Timespec:max_init()
+ local ts = ffi.new("core_timespec_t")
+ ts.sec = 2LL ^ 62
+ ts.nsec = 2LL ^ 62
+ return ts
+end
+
+return Timespec