absinfo.lua (714B)
1 local base = string.match(..., "(.-)[^%.]+%.[^%.]+$") 2 local ffi = require("ffi") 3 local fh = require(base.."helper.ffi_struct") 4 5 local format = string.format 6 7 local mt, index = {}, {} 8 9 fh.gen_raw_accessor(index, "value") 10 fh.gen_raw_accessor(index, "minimum") 11 fh.gen_raw_accessor(index, "maximum") 12 fh.gen_raw_accessor(index, "fuzz") 13 fh.gen_raw_accessor(index, "flat") 14 fh.gen_raw_accessor(index, "resolution") 15 16 function index:tostring() 17 return format( 18 "absinfo{value=%d, minimum=%d, maximum=%d, fuzz=%d, flat=%d, resolution=%d}", 19 self.value, self.minimum, self.maximum, self.fuzz, self.flat, self.resolution) 20 end 21 mt.__tostring = index.tostring 22 23 return fh.base(mt, index, ffi.typeof("struct input_absinfo"))