class FuseFS::FileHandle
Attributes
contents[RW]
flags[R]
id[R]
path[R]
raw[RW]
Public Class Methods
new(path,flags)
click to toggle source
# File lib/fuse/rfusefs-fuse.rb, line 14 def initialize(path,flags) @id = (@@fh += 1) @flags = flags @path = path @modified = false @contents = "" @size = 0 end
Public Instance Methods
accmode()
click to toggle source
# File lib/fuse/rfusefs-fuse.rb, line 54 def accmode flags & Fcntl::O_ACCMODE end
append?()
click to toggle source
# File lib/fuse/rfusefs-fuse.rb, line 70 def append? writing? && (flags & Fcntl::O_APPEND != 0) end
create()
click to toggle source
# File lib/fuse/rfusefs-fuse.rb, line 27 def create @contents = "" @modified = true end
flush()
click to toggle source
# File lib/fuse/rfusefs-fuse.rb, line 45 def flush @modified = false contents end
modified?()
click to toggle source
# File lib/fuse/rfusefs-fuse.rb, line 50 def modified? @modified end
raw_mode()
click to toggle source
# File lib/fuse/rfusefs-fuse.rb, line 82 def raw_mode mode_str = case accmode when Fcntl::O_RDWR; "rw" when Fcntl::O_RDONLY; "r" when Fcntl::O_WRONLY; "w" end mode_str << "a" if append? return mode_str end
rdonly?()
click to toggle source
# File lib/fuse/rfusefs-fuse.rb, line 66 def rdonly? accmode == Fcntl::O_RDONLY end
rdwr?()
click to toggle source
# File lib/fuse/rfusefs-fuse.rb, line 58 def rdwr? accmode == Fcntl::O_RDWR end
read(offset,size)
click to toggle source
# File lib/fuse/rfusefs-fuse.rb, line 23 def read(offset,size) contents[offset,size] end
reading?()
click to toggle source
# File lib/fuse/rfusefs-fuse.rb, line 74 def reading? rdonly? || rdwr? end
write(offset,data)
click to toggle source
# File lib/fuse/rfusefs-fuse.rb, line 32 def write(offset,data) # TODO: why append? if append? || offset >= contents.length #ignore offset #TODO: should this zero fill? contents << data else contents[offset,data.length]=data end @modified = true return data.length end
writing?()
click to toggle source
# File lib/fuse/rfusefs-fuse.rb, line 78 def writing? wronly? || rdwr? end
wronly?()
click to toggle source
# File lib/fuse/rfusefs-fuse.rb, line 62 def wronly? accmode == Fcntl::O_WRONLY end