Module: FSattrOSX

Extended by:
FFI::Library
Included in:
FSattr
Defined in:
lib/fsattr/fsattr-osx.rb

Overview

provides bindings for hfs+ filesystem attributes via FFI

Instance Method Summary collapse

Instance Method Details

#fsattr_fget(attribut) ⇒ Object

man 2 getxattr



50
51
52
53
54
55
56
# File 'lib/fsattr/fsattr-osx.rb', line 50

def fsattr_fget(attribut)
  size = fgetxattr(fileno.to_i, attribut, nil, 0,0,0)
  return "" if size < 0
  result = " " * size
  size = fgetxattr(fileno.to_i, attribut, result, size, 0,0)
  return result
end

#fsattr_flistObject

see man 2 listxattr



64
65
66
67
68
69
# File 'lib/fsattr/fsattr-osx.rb', line 64

def fsattr_flist()
  size = flistxattr(fileno.to_i, nil, 0,0)
  result = " " * size
  err = flistxattr(fileno.to_i, result, size, 0)
  return result.split("\x00")
end

#fsattr_fset(attribute, value) ⇒ Object

see man 2 setxattr



59
60
61
# File 'lib/fsattr/fsattr-osx.rb', line 59

def fsattr_fset(attribute, value)
  err = fsetxattr(fileno.to_i, attribute, value, value.bytesize, 0,0)
end

#fsattr_pget(attribut) ⇒ Object

see man 2 getxattr



28
29
30
31
32
33
34
# File 'lib/fsattr/fsattr-osx.rb', line 28

def fsattr_pget(attribut)
  size = getxattr(@path, attribut, nil, 0,0,0)
  return "" if size < 0
  result = " " * size
  size = getxattr(@path, attribut, result, size, 0,0)
  return result
end

#fsattr_plistObject

see man 2 listxattr



42
43
44
45
46
47
# File 'lib/fsattr/fsattr-osx.rb', line 42

def fsattr_plist()
  size = listxattr(@path, nil, 0,0)
  result = " " * size
  err = listxattr(@path, result, size, 0)
  return result.split("\x00")
end

#fsattr_pset(attribute, value) ⇒ Object

see man 2 setxattr



37
38
39
# File 'lib/fsattr/fsattr-osx.rb', line 37

def fsattr_pset(attribute, value)
  err = setxattr(@path, attribute, value, value.bytesize, 0,0)
end