Class: BlkID::Probe

Inherits:
Object
  • Object
show all
Defined in:
lib/rblkid/probe.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeProbe

Returns a new instance of Probe.



33
34
35
36
37
# File 'lib/rblkid/probe.rb', line 33

def initialize
  @struct = BlkID::C.blkid_new_probe

  ObjectSpace.define_finalizer(self, method(:finalize))
end

Class Method Details

.from_filename(filename) ⇒ Object



26
27
28
29
30
31
# File 'lib/rblkid/probe.rb', line 26

def self.from_filename (filename)
  allocate.tap {|o| o.instance_eval {
    @struct = BlkID::C.blkid_new_probe_from_filename(filename)
    ObjectSpace.define_finalizer(self, method(:finalize))
  }}
end

Instance Method Details

#devnoObject



43
44
45
# File 'lib/rblkid/probe.rb', line 43

def devno
  BlkID::C.blkid_probe_get_devno(@struct)
end

#fdObject Also known as: to_i



47
48
49
# File 'lib/rblkid/probe.rb', line 47

def fd
  BlkID::C.blkid_probe_get_fd(@struct)
end

#finalizeObject



39
40
41
# File 'lib/rblkid/probe.rb', line 39

def finalize
  BlkID::C.blkid_free_probe(@struct)
end

#fullprobeObject



85
86
87
# File 'lib/rblkid/probe.rb', line 85

def fullprobe
  BlkID::C.blkid_do_fullprobe(@struct)
end

#has_value?(name) ⇒ Boolean Also known as: value?

Returns:

  • (Boolean)


108
109
110
# File 'lib/rblkid/probe.rb', line 108

def has_value? (name)
  BlkID::C.blkid_probe_has_value(@struct, name)
end

#lookup_value(name) ⇒ Object



113
114
115
116
117
118
119
# File 'lib/rblkid/probe.rb', line 113

def lookup_value (name)
  data = FFI::MemoryPointer.new(:string)
  BlkID::C.blkid_probe_lookup_value(@struct, name,
                                    FFI::MemoryPointer.new(:pointer).write_pointer(data),
                                    nil)
  data.read_string
end

#numof_valuesObject



121
122
123
# File 'lib/rblkid/probe.rb', line 121

def numof_values
  BlkID::C.blkid_probe_numof_values(@struct)
end

#offsetObject



64
65
66
# File 'lib/rblkid/probe.rb', line 64

def offset
  BlkID::C.blkid_probe_get_offset(@struct)
end

#partitionsObject



129
130
131
# File 'lib/rblkid/probe.rb', line 129

def partitions
  PartList.new(BlkID::C.blkid_probe_get_partitions(@struct))
end

#probeObject



89
90
91
# File 'lib/rblkid/probe.rb', line 89

def probe
  BlkID::C.blkid_do_probe(@struct)
end

#resetObject



80
81
82
83
# File 'lib/rblkid/probe.rb', line 80

def reset
  BlkID::C.blkid_reset_probe(@struct)
  self
end

#safeprobeObject



93
94
95
# File 'lib/rblkid/probe.rb', line 93

def safeprobe
  BlkID::C.blkid_do_safeprobe(@struct)
end

#sector_sizeObject



52
53
54
# File 'lib/rblkid/probe.rb', line 52

def sector_size
  BlkID::C.blkid_probe_get_sectorsize(@struct)
end

#sectorsObject



56
57
58
# File 'lib/rblkid/probe.rb', line 56

def sectors
  BlkID::C.blkid_probe_get_sectors(@struct)
end

#set_device(fd, off, size) ⇒ Object



72
73
74
# File 'lib/rblkid/probe.rb', line 72

def set_device (fd, off, size)
  BlkID::C.blkid_probe_set_device(@struct, fd, off, size)
end

#sizeObject



60
61
62
# File 'lib/rblkid/probe.rb', line 60

def size
  BlkID::C.blkid_probe_get_size(@struct)
end

#superblocks=(bool) ⇒ Object



125
126
127
# File 'lib/rblkid/probe.rb', line 125

def superblocks= (bool)
  BlkID::C.blkid_probe_enable_superblocks(@struct, bool)
end

#to_ffiObject



141
142
143
# File 'lib/rblkid/probe.rb', line 141

def to_ffi
  @struct
end

#topologyObject



137
138
139
# File 'lib/rblkid/probe.rb', line 137

def topology
  Topology.new(BlkID::C.blkid_probe_get_topology(@struct))
end

#topology=(bool) ⇒ Object



133
134
135
# File 'lib/rblkid/probe.rb', line 133

def topology= (bool)
  BlkID::C.blkid_probe_enable_topology(@struct, bool)
end

#value(num) ⇒ Object



97
98
99
100
101
102
103
104
105
106
# File 'lib/rblkid/probe.rb', line 97

def value (num)
  name = FFI::MemoryPointer.new(:string)
  data = FFI::MemoryPointer.new(:string)

  BlkID::C.blkid_probe_get_value(@struct, num,
                                 FFI::MemoryPointer.new(:pointer).write_pointer(name),
                                 FFI::MemoryPointer.new(:pointer).write_pointer(data),
                                 nil)
  [name.read_string, data.read_string]
end

#wholedisk?Boolean

Returns:

  • (Boolean)


76
77
78
# File 'lib/rblkid/probe.rb', line 76

def wholedisk?
  BlkID::C.blkid_probe_is_wholedisk(@struct)
end

#wholedisk_devnoObject



68
69
70
# File 'lib/rblkid/probe.rb', line 68

def wholedisk_devno
  BlkID::C.blkid_probe_get_wholedisk_devno(@struct)
end