|
@@ -1,71 +0,0 @@
|
|
-package sysx
|
|
|
|
-
|
|
|
|
-// These functions will be generated by generate.sh
|
|
|
|
-// $ GOOS=darwin GOARCH=386 ./generate.sh xattr
|
|
|
|
-// $ GOOS=darwin GOARCH=amd64 ./generate.sh xattr
|
|
|
|
-
|
|
|
|
-//sys getxattr(path string, attr string, dest []byte, pos int, options int) (sz int, err error)
|
|
|
|
-//sys setxattr(path string, attr string, data []byte, flags int) (err error)
|
|
|
|
-//sys removexattr(path string, attr string, options int) (err error)
|
|
|
|
-//sys listxattr(path string, dest []byte, options int) (sz int, err error)
|
|
|
|
-//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
|
|
|
|
-
|
|
|
|
-const (
|
|
|
|
- xattrNoFollow = 0x01
|
|
|
|
-)
|
|
|
|
-
|
|
|
|
-func listxattrFollow(path string, dest []byte) (sz int, err error) {
|
|
|
|
- return listxattr(path, dest, 0)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// Listxattr calls syscall getxattr
|
|
|
|
-func Listxattr(path string) ([]string, error) {
|
|
|
|
- return listxattrAll(path, listxattrFollow)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// Removexattr calls syscall getxattr
|
|
|
|
-func Removexattr(path string, attr string) (err error) {
|
|
|
|
- return removexattr(path, attr, 0)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// Setxattr calls syscall setxattr
|
|
|
|
-func Setxattr(path string, attr string, data []byte, flags int) (err error) {
|
|
|
|
- return setxattr(path, attr, data, flags)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func getxattrFollow(path, attr string, dest []byte) (sz int, err error) {
|
|
|
|
- return getxattr(path, attr, dest, 0, 0)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// Getxattr calls syscall getxattr
|
|
|
|
-func Getxattr(path, attr string) ([]byte, error) {
|
|
|
|
- return getxattrAll(path, attr, getxattrFollow)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func listxattrNoFollow(path string, dest []byte) (sz int, err error) {
|
|
|
|
- return listxattr(path, dest, xattrNoFollow)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// LListxattr calls syscall listxattr with XATTR_NOFOLLOW
|
|
|
|
-func LListxattr(path string) ([]string, error) {
|
|
|
|
- return listxattrAll(path, listxattrNoFollow)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// LRemovexattr calls syscall removexattr with XATTR_NOFOLLOW
|
|
|
|
-func LRemovexattr(path string, attr string) (err error) {
|
|
|
|
- return removexattr(path, attr, xattrNoFollow)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// Setxattr calls syscall setxattr with XATTR_NOFOLLOW
|
|
|
|
-func LSetxattr(path string, attr string, data []byte, flags int) (err error) {
|
|
|
|
- return setxattr(path, attr, data, flags|xattrNoFollow)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func getxattrNoFollow(path, attr string, dest []byte) (sz int, err error) {
|
|
|
|
- return getxattr(path, attr, dest, 0, xattrNoFollow)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// LGetxattr calls syscall getxattr with XATTR_NOFOLLOW
|
|
|
|
-func LGetxattr(path, attr string) ([]byte, error) {
|
|
|
|
- return getxattrAll(path, attr, getxattrNoFollow)
|
|
|
|
-}
|
|
|