Tizen_4.0 base
[platform/upstream/docker-engine.git] / vendor / github.com / stevvooe / continuity / sysx / xattr_linux.go
1 package sysx
2
3 import "syscall"
4
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
13
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)
18 }
19
20 // Removexattr calls syscall removexattr
21 func Removexattr(path string, attr string) (err error) {
22         return syscall.Removexattr(path, attr)
23 }
24
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)
28 }
29
30 // Getxattr calls syscall getxattr
31 func Getxattr(path, attr string) ([]byte, error) {
32         return getxattrAll(path, attr, syscall.Getxattr)
33 }
34
35 //sys llistxattr(path string, dest []byte) (sz int, err error)
36
37 // LListxattr lists xattrs, not following symlinks
38 func LListxattr(path string) ([]string, error) {
39         return listxattrAll(path, llistxattr)
40 }
41
42 //sys lremovexattr(path string, attr string) (err error)
43
44 // LRemovexattr removes an xattr, not following symlinks
45 func LRemovexattr(path string, attr string) (err error) {
46         return lremovexattr(path, attr)
47 }
48
49 //sys lsetxattr(path string, attr string, data []byte, flags int) (err error)
50
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)
54 }
55
56 //sys lgetxattr(path string, attr string, dest []byte) (sz int, err error)
57
58 // LGetxattr gets an xattr, not following symlinks
59 func LGetxattr(path, attr string) ([]byte, error) {
60         return getxattrAll(path, attr, lgetxattr)
61 }