From a68848db159cc1cafa82f9d383432fda459c8745 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 17 Jul 2021 09:11:16 +0200 Subject: Merging upstream version 1.2.1. Signed-off-by: Daniel Baumann --- src/core/timespec.lua | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'src/core/timespec.lua') 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 -- cgit v1.2.3