5 // These functions will be generated by generate.sh
6 // $ GOOS=linux GOARCH=386 ./generate.sh xattr
7 // $ GOOS=linux GOARCH=amd64 ./generate.sh xattr
8 // $ GOOS=linux GOARCH=arm ./generate.sh xattr
9 // $ GOOS=linux GOARCH=arm64 ./generate.sh xattr
10 // $ GOOS=linux GOARCH=ppc64 ./generate.sh xattr
11 // $ GOOS=linux GOARCH=ppc64le ./generate.sh xattr
12 // $ GOOS=linux GOARCH=s390x ./generate.sh xattr
14 // Listxattr calls syscall listxattr and reads all content
15 // and returns a string array
16 func Listxattr(path string) ([]string, error) {
17 return listxattrAll(path, syscall.Listxattr)
20 // Removexattr calls syscall removexattr
21 func Removexattr(path string, attr string) (err error) {
22 return syscall.Removexattr(path, attr)
25 // Setxattr calls syscall setxattr
26 func Setxattr(path string, attr string, data []byte, flags int) (err error) {
27 return syscall.Setxattr(path, attr, data, flags)
30 // Getxattr calls syscall getxattr
31 func Getxattr(path, attr string) ([]byte, error) {
32 return getxattrAll(path, attr, syscall.Getxattr)
35 //sys llistxattr(path string, dest []byte) (sz int, err error)
37 // LListxattr lists xattrs, not following symlinks
38 func LListxattr(path string) ([]string, error) {
39 return listxattrAll(path, llistxattr)
42 //sys lremovexattr(path string, attr string) (err error)
44 // LRemovexattr removes an xattr, not following symlinks
45 func LRemovexattr(path string, attr string) (err error) {
46 return lremovexattr(path, attr)
49 //sys lsetxattr(path string, attr string, data []byte, flags int) (err error)
51 // LSetxattr sets an xattr, not following symlinks
52 func LSetxattr(path string, attr string, data []byte, flags int) (err error) {
53 return lsetxattr(path, attr, data, flags)
56 //sys lgetxattr(path string, attr string, dest []byte) (sz int, err error)
58 // LGetxattr gets an xattr, not following symlinks
59 func LGetxattr(path, attr string) ([]byte, error) {
60 return getxattrAll(path, attr, lgetxattr)