Module: FSattrOSX
Overview
provides bindings for hfs+ filesystem attributes via FFI
Instance Method Summary collapse
-
#fsattr_fget(attribut) ⇒ Object
man 2 getxattr.
-
#fsattr_flist ⇒ Object
see man 2 listxattr.
-
#fsattr_fset(attribute, value) ⇒ Object
see man 2 setxattr.
-
#fsattr_pget(attribut) ⇒ Object
see man 2 getxattr.
-
#fsattr_plist ⇒ Object
see man 2 listxattr.
-
#fsattr_pset(attribute, value) ⇒ Object
see man 2 setxattr.
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_flist ⇒ Object
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_plist ⇒ Object
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 |