module Traildb

Constants

TDB_OPT_EVENT_FILTER
VERSION

Public Class Methods

tdb_item_field(item) click to toggle source
# File lib/traildb.rb, line 112
def self.tdb_item_field(item)
  if tdb_item_is32(item)
    tdb_item_field32(item)
  else
    (item & 127) | (((item >> 8) & 127) << 7)
  end
end
tdb_item_field32(item) click to toggle source
# File lib/traildb.rb, line 109
def self.tdb_item_field32(item); item & 127 end
tdb_item_is32(item) click to toggle source
# File lib/traildb.rb, line 108
def self.tdb_item_is32(item); (item & 128) == 0 end
tdb_item_val(item) click to toggle source
# File lib/traildb.rb, line 120
def self.tdb_item_val(item)
  if tdb_item_is32(item)
    tdb_item_val32(item)
  else
    item >> 16
  end
end
tdb_item_val32(item) click to toggle source
# File lib/traildb.rb, line 110
def self.tdb_item_val32(item); (item >> 8) & 4294967295 end
uuid_hex(uuid) click to toggle source
# File lib/traildb.rb, line 92
def self.uuid_hex(uuid)
  if uuid.is_a? FFI::Pointer
    ary = uuid.read_bytes(16).unpack("NnnnnN")
    uuid = "%08x-%04x-%04x-%04x-%04x%08x" % ary
  end
  uuid
end
uuid_raw(uuid) click to toggle source
# File lib/traildb.rb, line 100
def self.uuid_raw(uuid)
  if uuid.is_a? String
    ptr = FFI::MemoryPointer.new(:uint8, 16)
    uuid = ptr.write_bytes(uuid.scan(/[0-9a-f]{2}/).map{|x|x.to_i(16)}.pack('C*'))
  end
  uuid
end