aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-08-16 13:42:04 +0200
committerDmitry Vyukov <dvyukov@google.com>2017-08-16 13:42:04 +0200
commitf93be58429d77a7928d96205e7ee34e4bbb7cc9c (patch)
treec8c56fd4ba94b738778c951799799f2ac5629ead /sys
parent6a0246bf72830c3461e9784c104894882738541f (diff)
sys: add some known xattr names
Move xattr syscalls to own file and better describe xattr names. They usually have prefix+name structure and there are some known values.
Diffstat (limited to 'sys')
-rwxr-xr-xsys/extract.sh3
-rw-r--r--sys/sys.txt15
-rw-r--r--sys/sys_amd64.const14
-rw-r--r--sys/sys_amd64.go56
-rw-r--r--sys/sys_arm64.const14
-rw-r--r--sys/sys_arm64.go56
-rw-r--r--sys/sys_ppc64le.const14
-rw-r--r--sys/sys_ppc64le.go56
-rw-r--r--sys/xattr.txt33
-rw-r--r--sys/xattr_amd64.const15
-rw-r--r--sys/xattr_arm64.const15
-rw-r--r--sys/xattr_ppc64le.const15
12 files changed, 221 insertions, 85 deletions
diff --git a/sys/extract.sh b/sys/extract.sh
index 7f8e11dea..59cc723e7 100755
--- a/sys/extract.sh
+++ b/sys/extract.sh
@@ -28,7 +28,8 @@ UPSTREAM_FILES="sys/bpf.txt sys/dri.txt sys/fuse.txt sys/input.txt sys/ipc.txt
sys/socket_inet_sctp.txt sys/socket_inet_dccp.txt
sys/socket_kcm.txt sys/socket_key.txt sys/socket_netlink.txt
sys/socket_netrom.txt sys/socket_nfc.txt sys/socket_unix.txt
- sys/socket_ipx.txt sys/socket_ax25.txt sys/socket_llc.txt"
+ sys/socket_ipx.txt sys/socket_ax25.txt sys/socket_llc.txt
+ sys/xattr.txt"
ANDROID_FILES="sys/tlk_device.txt sys/ion.txt"
diff --git a/sys/sys.txt b/sys/sys.txt
index f86a4f8a2..780021557 100644
--- a/sys/sys.txt
+++ b/sys/sys.txt
@@ -9,7 +9,6 @@ include <linux/fanotify.h>
include <linux/inotify.h>
include <linux/resource.h>
include <linux/stat.h>
-include <linux/xattr.h>
include <linux/mman.h>
include <linux/time.h>
include <linux/prctl.h>
@@ -377,19 +376,6 @@ ioprio_set$pid(which flags[ioprio_which_pid], who pid, prio intptr)
ioprio_set$uid(which flags[ioprio_which_uid], who uid, prio intptr)
setns(fd fd, type flags[ns_type])
-setxattr(path ptr[in, filename], name ptr[in, string], val ptr[in, string], size len[val], flags flags[setxattr_flags])
-lsetxattr(path ptr[in, filename], name ptr[in, string], val ptr[in, string], size len[val], flags flags[setxattr_flags])
-fsetxattr(fd fd, name ptr[in, string], val ptr[in, string], size len[val], flags flags[setxattr_flags])
-getxattr(path ptr[in, filename], name ptr[in, string], val buffer[out], size len[val])
-lgetxattr(path ptr[in, filename], name ptr[in, string], val buffer[out], size len[val])
-fgetxattr(fd fd, name ptr[in, string], val buffer[out], size len[val])
-listxattr(path ptr[in, filename], list buffer[out], size len[list])
-llistxattr(path ptr[in, filename], list buffer[out], size len[list])
-flistxattr(fd fd, list buffer[out], size len[list])
-removexattr(path ptr[in, filename], name ptr[in, string])
-lremovexattr(path ptr[in, filename], name ptr[in, string])
-fremovexattr(fd fd, name ptr[in, string])
-
resource timerid[int32]
timer_create(id flags[clock_id], ev ptr[in, sigevent], timerid ptr[out, timerid])
timer_gettime(timerid timerid, setting ptr[out, itimerspec])
@@ -1007,7 +993,6 @@ rlimit_type = RLIMIT_AS, RLIMIT_CORE, RLIMIT_CPU, RLIMIT_DATA, RLIMIT_FSIZE, RLI
syslog_cmd = SYSLOG_ACTION_CLOSE, SYSLOG_ACTION_OPEN, SYSLOG_ACTION_READ, SYSLOG_ACTION_READ_ALL, SYSLOG_ACTION_READ_CLEAR, SYSLOG_ACTION_CLEAR, SYSLOG_ACTION_CONSOLE_ON, SYSLOG_ACTION_CONSOLE_OFF, SYSLOG_ACTION_SIZE_UNREAD, SYSLOG_ACTION_SIZE_BUFFER
ioprio_which_pid = IOPRIO_WHO_PROCESS, IOPRIO_WHO_PGRP
ioprio_which_uid = IOPRIO_WHO_USER
-setxattr_flags = XATTR_CREATE, XATTR_REPLACE
ns_type = 0, CLONE_NEWIPC, CLONE_NEWNET, CLONE_NEWUTS
personality_flags = PER_LINUX, PER_SVR4, PER_SVR3, PER_OSR5, PER_WYSEV386, PER_ISCR4, PER_BSD, PER_XENIX, PER_LINUX32, PER_IRIX32, PER_IRIXN32, PER_IRIX64, PER_RISCOS, PER_SOLARIS, PER_UW7, PER_OSF4, PER_HPUX, ADDR_NO_RANDOMIZE, MMAP_PAGE_ZERO, ADDR_COMPAT_LAYOUT, READ_IMPLIES_EXEC, ADDR_LIMIT_32BIT, SHORT_INODE, WHOLE_SECONDS, STICKY_TIMEOUTS, ADDR_LIMIT_3GB
clock_id = CLOCK_REALTIME, CLOCK_REALTIME_COARSE, CLOCK_MONOTONIC, CLOCK_MONOTONIC_COARSE, CLOCK_MONOTONIC_RAW, CLOCK_BOOTTIME, CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID
diff --git a/sys/sys_amd64.const b/sys/sys_amd64.const
index 79e9e4796..6432dae25 100644
--- a/sys/sys_amd64.const
+++ b/sys/sys_amd64.const
@@ -598,8 +598,6 @@ WNOHANG = 1
WNOWAIT = 16777216
WSTOPPED = 2
WUNTRACED = 2
-XATTR_CREATE = 1
-XATTR_REPLACE = 2
__NR_acct = 163
__NR_alarm = 37
__NR_arch_prctl = 158
@@ -644,12 +642,8 @@ __NR_fchown = 93
__NR_fchownat = 260
__NR_fcntl = 72
__NR_fdatasync = 75
-__NR_fgetxattr = 193
__NR_finit_module = 313
-__NR_flistxattr = 196
__NR_flock = 73
-__NR_fremovexattr = 199
-__NR_fsetxattr = 190
__NR_fstat = 5
__NR_fstatfs = 138
__NR_fsync = 74
@@ -679,7 +673,6 @@ __NR_getrlimit = 97
__NR_getrusage = 98
__NR_gettid = 186
__NR_getuid = 102
-__NR_getxattr = 191
__NR_init_module = 175
__NR_inotify_add_watch = 254
__NR_inotify_init = 253
@@ -698,15 +691,10 @@ __NR_ioprio_set = 251
__NR_kcmp = 312
__NR_kexec_load = 246
__NR_lchown = 94
-__NR_lgetxattr = 192
__NR_link = 86
__NR_linkat = 265
-__NR_listxattr = 194
-__NR_llistxattr = 195
__NR_lookup_dcookie = 212
-__NR_lremovexattr = 198
__NR_lseek = 8
-__NR_lsetxattr = 189
__NR_lstat = 6
__NR_madvise = 28
__NR_mbind = 237
@@ -768,7 +756,6 @@ __NR_readlink = 89
__NR_readlinkat = 267
__NR_readv = 19
__NR_remap_file_pages = 216
-__NR_removexattr = 197
__NR_rename = 82
__NR_renameat = 264
__NR_renameat2 = 316
@@ -813,7 +800,6 @@ __NR_setresuid = 117
__NR_setreuid = 113
__NR_setrlimit = 160
__NR_setuid = 105
-__NR_setxattr = 188
__NR_sigaltstack = 131
__NR_signalfd = 282
__NR_signalfd4 = 289
diff --git a/sys/sys_amd64.go b/sys/sys_amd64.go
index 4724e0e9a..e98aa617f 100644
--- a/sys/sys_amd64.go
+++ b/sys/sys_amd64.go
@@ -765,6 +765,8 @@ var structArray = []Type{
&StructType{TypeCommon: TypeCommon{TypeName: "vt_stat", IsOptional: false}},
&StructType{TypeCommon: TypeCommon{TypeName: "winsize", IsOptional: false}},
&StructType{TypeCommon: TypeCommon{TypeName: "x25_packet", IsOptional: false}, packed: true},
+ &UnionType{TypeCommon: TypeCommon{TypeName: "xattr_name", IsOptional: false}, varlen: true},
+ &StructType{TypeCommon: TypeCommon{TypeName: "xattr_name_random", IsOptional: false}, packed: true},
&UnionType{TypeCommon: TypeCommon{TypeName: "xfrm_address", IsOptional: false}},
&StructType{TypeCommon: TypeCommon{TypeName: "xfrm_filter", IsOptional: false}},
&StructType{TypeCommon: TypeCommon{TypeName: "xfrm_id", IsOptional: false}},
@@ -21093,6 +21095,42 @@ var structFields = []struct {
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "frame", ArgDir: DirOut, IsOptional: false}, TypeSize: 1, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{11, 15, 19, 23, 0, 35, 39, 1, 5, 9, 27, 31, 243, 247, 251, 255, 241, 253}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "payload", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand},
}},
+ {structKey{"xattr_name", "", DirIn}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00"}, Length: 0},
+ getStruct(structKey{"xattr_name_random", "random", DirIn}),
+ }},
+ {structKey{"xattr_name", "", DirInOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00"}, Length: 0},
+ getStruct(structKey{"xattr_name_random", "random", DirInOut}),
+ }},
+ {structKey{"xattr_name", "", DirOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00"}, Length: 0},
+ getStruct(structKey{"xattr_name_random", "random", DirOut}),
+ }},
+ {structKey{"xattr_name_random", "", DirIn}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "", DirInOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "", DirOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "random", DirIn}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "random", DirInOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "random", DirOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
{structKey{"xfrm_address", "", DirIn}, []Type{
getStruct(structKey{"ipv4_addr", "in", DirIn}),
getStruct(structKey{"ipv6_addr", "in6", DirIn}),
@@ -21609,12 +21647,12 @@ var Calls = []*Call{
&Call{Name: "fcntl$setsig", CallName: "fcntl", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(10)}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "signalno", FldName: "sig", ArgDir: DirIn, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}, Kind: IntSignalno}}, NR: 72},
&Call{Name: "fcntl$setstatus", CallName: "fcntl", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(4)}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1024, 8192, 16384, 262144, 2048}}}, NR: 72},
&Call{Name: "fdatasync", CallName: "fdatasync", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}}, NR: 75},
- &Call{Name: "fgetxattr", CallName: "fgetxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 193},
+ &Call{Name: "fgetxattr", CallName: "fgetxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 193},
&Call{Name: "finit_module", CallName: "finit_module", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "args", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 313},
&Call{Name: "flistxattr", CallName: "flistxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "list", ByteSize: 0}}, NR: 196},
&Call{Name: "flock", CallName: "flock", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "op", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2, 8, 4}}}, NR: 73},
- &Call{Name: "fremovexattr", CallName: "fremovexattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}}, NR: 199},
- &Call{Name: "fsetxattr", CallName: "fsetxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 190},
+ &Call{Name: "fremovexattr", CallName: "fremovexattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}}, NR: 199},
+ &Call{Name: "fsetxattr", CallName: "fsetxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 190},
&Call{Name: "fstat", CallName: "fstat", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"stat", "", DirOut})}}, NR: 5},
&Call{Name: "fstatfs", CallName: "fstatfs", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}}, NR: 138},
&Call{Name: "fsync", CallName: "fsync", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}}, NR: 74},
@@ -21810,7 +21848,7 @@ var Calls = []*Call{
&Call{Name: "getsockopt$sock_timeval", CallName: "getsockopt", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(1)}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "optname", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{20, 21}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"timeval", "", DirOut})}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", ArgDir: DirIn, IsOptional: false}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "", ArgDir: DirInOut, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}, Buf: "optval", ByteSize: 0}}}, NR: 55},
&Call{Name: "gettid", CallName: "gettid", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("pid")}, Args: []Type{}, NR: 186},
&Call{Name: "getuid", CallName: "getuid", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("uid")}, Args: []Type{}, NR: 102},
- &Call{Name: "getxattr", CallName: "getxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 191},
+ &Call{Name: "getxattr", CallName: "getxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 191},
&Call{Name: "init_module", CallName: "init_module", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "mod", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "mod", ByteSize: 0}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "args", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}}, NR: 175},
&Call{Name: "inotify_add_watch", CallName: "inotify_add_watch", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "inotifydesc", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("inotifydesc")}, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_inotify", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_inotify")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "mask", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 4, 8, 16, 256, 512, 1024, 2, 2048, 64, 128, 32, 33554432, 67108864, 536870912, 2147483648, 16777216}}}, NR: 254},
&Call{Name: "inotify_init", CallName: "inotify_init", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_inotify", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("fd_inotify")}, Args: []Type{}, NR: 253},
@@ -22358,7 +22396,7 @@ var Calls = []*Call{
&Call{Name: "keyctl$unlink", CallName: "keyctl", Native: true, Args: []Type{&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(9)}, &ResourceType{TypeCommon: TypeCommon{TypeName: "key", FldName: "key1", ArgDir: DirIn, IsOptional: false}, Desc: resource("key")}, &ResourceType{TypeCommon: TypeCommon{TypeName: "key", FldName: "key2", ArgDir: DirIn, IsOptional: false}, Desc: resource("key")}}, NR: 250},
&Call{Name: "keyctl$update", CallName: "keyctl", Native: true, Args: []Type{&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(2)}, &ResourceType{TypeCommon: TypeCommon{TypeName: "key", FldName: "key", ArgDir: DirIn, IsOptional: false}, Desc: resource("key")}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "payload", ArgDir: DirIn, IsOptional: true}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "payload", ArgDir: DirIn, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "paylen", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "payload", ByteSize: 0}}, NR: 250},
&Call{Name: "lchown", CallName: "lchown", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "uid", ArgDir: DirIn, IsOptional: false}, Desc: resource("uid")}, &ResourceType{TypeCommon: TypeCommon{TypeName: "gid", FldName: "gid", ArgDir: DirIn, IsOptional: false}, Desc: resource("gid")}}, NR: 94},
- &Call{Name: "lgetxattr", CallName: "lgetxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 192},
+ &Call{Name: "lgetxattr", CallName: "lgetxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 192},
&Call{Name: "link", CallName: "link", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}}, NR: 86},
&Call{Name: "linkat", CallName: "linkat", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "oldfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "newfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{4096, 1024}}}, NR: 265},
&Call{Name: "listen", CallName: "listen", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock")}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "backlog", ArgDir: DirIn, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}}}, NR: 50},
@@ -22366,9 +22404,9 @@ var Calls = []*Call{
&Call{Name: "listxattr", CallName: "listxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "list", ByteSize: 0}}, NR: 194},
&Call{Name: "llistxattr", CallName: "llistxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "list", ByteSize: 0}}, NR: 195},
&Call{Name: "lookup_dcookie", CallName: "lookup_dcookie", Native: true, Args: []Type{&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "buf", ByteSize: 0}}, NR: 212},
- &Call{Name: "lremovexattr", CallName: "lremovexattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}}, NR: 198},
+ &Call{Name: "lremovexattr", CallName: "lremovexattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}}, NR: 198},
&Call{Name: "lseek", CallName: "lseek", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Kind: IntFileoff}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "whence", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{0, 1, 2, 3, 4}}}, NR: 8},
- &Call{Name: "lsetxattr", CallName: "lsetxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 189},
+ &Call{Name: "lsetxattr", CallName: "lsetxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 189},
&Call{Name: "lstat", CallName: "lstat", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"stat", "", DirOut})}}, NR: 6},
&Call{Name: "madvise", CallName: "madvise", Native: true, Args: []Type{&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", ArgDir: DirIn, IsOptional: false}, RangeBegin: 0, RangeEnd: 0}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "addr", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "advice", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{0, 1, 2, 3, 4, 9, 10, 11, 100, 101, 12, 13, 14, 15, 16, 17}}}, NR: 28},
&Call{Name: "mbind", CallName: "mbind", Native: true, Args: []Type{&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", ArgDir: DirIn, IsOptional: false}, RangeBegin: 0, RangeEnd: 0}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "addr", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "mode", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{0, 2, 3, 1, 32768, 16384}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "nodemask", ArgDir: DirIn, IsOptional: false}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "maxnode", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2, 4}}}, NR: 237},
@@ -22513,7 +22551,7 @@ var Calls = []*Call{
&Call{Name: "recvmsg$kcm", CallName: "recvmsg", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_kcm", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock_kcm")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"recv_msghdr", "", DirIn})}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "f", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1073741824, 64, 8192, 1, 2, 32, 256, 65536}}}, NR: 47},
&Call{Name: "recvmsg$netrom", CallName: "recvmsg", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_netrom", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock_netrom")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"msghdr_netrom", "", DirIn})}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "f", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1073741824, 64, 8192, 1, 2, 32, 256, 65536}}}, NR: 47},
&Call{Name: "remap_file_pages", CallName: "remap_file_pages", Native: true, Args: []Type{&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", ArgDir: DirIn, IsOptional: false}, RangeBegin: 0, RangeEnd: 0}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "addr", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "prot", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{4, 1, 2, 8, 16777216, 33554432}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "pgoff", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2, 64, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0}}}, NR: 216},
- &Call{Name: "removexattr", CallName: "removexattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}}, NR: 197},
+ &Call{Name: "removexattr", CallName: "removexattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}}, NR: 197},
&Call{Name: "rename", CallName: "rename", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}}, NR: 82},
&Call{Name: "renameat", CallName: "renameat", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "oldfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "newfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}}, NR: 264},
&Call{Name: "renameat2", CallName: "renameat2", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "oldfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "newfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{2, 1, 4}}}, NR: 316},
@@ -22777,7 +22815,7 @@ var Calls = []*Call{
&Call{Name: "setsockopt$sock_timeval", CallName: "setsockopt", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(1)}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "optname", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{20, 21}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"timeval", "", DirIn})}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "optval", ByteSize: 0}}, NR: 54},
&Call{Name: "setsockopt$sock_void", CallName: "setsockopt", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(1)}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "optname", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{27, 36}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optval", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(0)}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optlen", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(0)}}, NR: 54},
&Call{Name: "setuid", CallName: "setuid", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "uid", ArgDir: DirIn, IsOptional: false}, Desc: resource("uid")}}, NR: 105},
- &Call{Name: "setxattr", CallName: "setxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 188},
+ &Call{Name: "setxattr", CallName: "setxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 188},
&Call{Name: "shmat", CallName: "shmat", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "shmaddr", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("shmaddr")}, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_shm", FldName: "shmid", ArgDir: DirIn, IsOptional: false}, Desc: resource("ipc_shm")}, &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", ArgDir: DirIn, IsOptional: false}, RangeBegin: 0, RangeEnd: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{8192, 4096, 16384}}}, NR: 30},
&Call{Name: "shmctl$IPC_INFO", CallName: "shmctl", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_shm", FldName: "shmid", ArgDir: DirIn, IsOptional: false}, Desc: resource("ipc_shm")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(3)}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}}, NR: 31},
&Call{Name: "shmctl$IPC_RMID", CallName: "shmctl", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_shm", FldName: "shmid", ArgDir: DirIn, IsOptional: false}, Desc: resource("ipc_shm")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(0)}}, NR: 31},
diff --git a/sys/sys_arm64.const b/sys/sys_arm64.const
index 42491d109..34083452d 100644
--- a/sys/sys_arm64.const
+++ b/sys/sys_arm64.const
@@ -591,8 +591,6 @@ WNOHANG = 1
WNOWAIT = 16777216
WSTOPPED = 2
WUNTRACED = 2
-XATTR_CREATE = 1
-XATTR_REPLACE = 2
__NR_acct = 89
__NR_capget = 90
__NR_capset = 91
@@ -628,12 +626,8 @@ __NR_fchown = 55
__NR_fchownat = 54
__NR_fcntl = 25
__NR_fdatasync = 83
-__NR_fgetxattr = 10
__NR_finit_module = 273
-__NR_flistxattr = 13
__NR_flock = 32
-__NR_fremovexattr = 16
-__NR_fsetxattr = 7
__NR_fstat = 80
__NR_fstatfs = 44
__NR_fsync = 82
@@ -658,7 +652,6 @@ __NR_getrlimit = 163
__NR_getrusage = 165
__NR_gettid = 178
__NR_getuid = 174
-__NR_getxattr = 8
__NR_init_module = 105
__NR_inotify_add_watch = 27
__NR_inotify_init1 = 26
@@ -673,14 +666,9 @@ __NR_ioprio_get = 31
__NR_ioprio_set = 30
__NR_kcmp = 272
__NR_kexec_load = 104
-__NR_lgetxattr = 9
__NR_linkat = 37
-__NR_listxattr = 11
-__NR_llistxattr = 12
__NR_lookup_dcookie = 18
-__NR_lremovexattr = 15
__NR_lseek = 62
-__NR_lsetxattr = 6
__NR_madvise = 233
__NR_mbind = 235
__NR_membarrier = 283
@@ -733,7 +721,6 @@ __NR_readahead = 213
__NR_readlinkat = 78
__NR_readv = 65
__NR_remap_file_pages = 234
-__NR_removexattr = 14
__NR_renameat = 38
__NR_renameat2 = 276
__NR_restart_syscall = 128
@@ -774,7 +761,6 @@ __NR_setresuid = 147
__NR_setreuid = 145
__NR_setrlimit = 164
__NR_setuid = 146
-__NR_setxattr = 5
__NR_sigaltstack = 132
__NR_signalfd4 = 74
__NR_splice = 76
diff --git a/sys/sys_arm64.go b/sys/sys_arm64.go
index 854778323..055b4d3ea 100644
--- a/sys/sys_arm64.go
+++ b/sys/sys_arm64.go
@@ -765,6 +765,8 @@ var structArray = []Type{
&StructType{TypeCommon: TypeCommon{TypeName: "vt_stat", IsOptional: false}},
&StructType{TypeCommon: TypeCommon{TypeName: "winsize", IsOptional: false}},
&StructType{TypeCommon: TypeCommon{TypeName: "x25_packet", IsOptional: false}, packed: true},
+ &UnionType{TypeCommon: TypeCommon{TypeName: "xattr_name", IsOptional: false}, varlen: true},
+ &StructType{TypeCommon: TypeCommon{TypeName: "xattr_name_random", IsOptional: false}, packed: true},
&UnionType{TypeCommon: TypeCommon{TypeName: "xfrm_address", IsOptional: false}},
&StructType{TypeCommon: TypeCommon{TypeName: "xfrm_filter", IsOptional: false}},
&StructType{TypeCommon: TypeCommon{TypeName: "xfrm_id", IsOptional: false}},
@@ -21093,6 +21095,42 @@ var structFields = []struct {
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "frame", ArgDir: DirOut, IsOptional: false}, TypeSize: 1, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{11, 15, 19, 23, 0, 35, 39, 1, 5, 9, 27, 31, 243, 247, 251, 255, 241, 253}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "payload", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand},
}},
+ {structKey{"xattr_name", "", DirIn}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00"}, Length: 0},
+ getStruct(structKey{"xattr_name_random", "random", DirIn}),
+ }},
+ {structKey{"xattr_name", "", DirInOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00"}, Length: 0},
+ getStruct(structKey{"xattr_name_random", "random", DirInOut}),
+ }},
+ {structKey{"xattr_name", "", DirOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00"}, Length: 0},
+ getStruct(structKey{"xattr_name_random", "random", DirOut}),
+ }},
+ {structKey{"xattr_name_random", "", DirIn}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "", DirInOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "", DirOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "random", DirIn}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "random", DirInOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "random", DirOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
{structKey{"xfrm_address", "", DirIn}, []Type{
getStruct(structKey{"ipv4_addr", "in", DirIn}),
getStruct(structKey{"ipv6_addr", "in6", DirIn}),
@@ -21609,12 +21647,12 @@ var Calls = []*Call{
&Call{Name: "fcntl$setsig", CallName: "fcntl", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(10)}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "signalno", FldName: "sig", ArgDir: DirIn, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}, Kind: IntSignalno}}, NR: 25},
&Call{Name: "fcntl$setstatus", CallName: "fcntl", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(4)}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1024, 8192, 65536, 262144, 2048}}}, NR: 25},
&Call{Name: "fdatasync", CallName: "fdatasync", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}}, NR: 83},
- &Call{Name: "fgetxattr", CallName: "fgetxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 10},
+ &Call{Name: "fgetxattr", CallName: "fgetxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 10},
&Call{Name: "finit_module", CallName: "finit_module", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "args", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 273},
&Call{Name: "flistxattr", CallName: "flistxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "list", ByteSize: 0}}, NR: 13},
&Call{Name: "flock", CallName: "flock", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "op", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2, 8, 4}}}, NR: 32},
- &Call{Name: "fremovexattr", CallName: "fremovexattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}}, NR: 16},
- &Call{Name: "fsetxattr", CallName: "fsetxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 7},
+ &Call{Name: "fremovexattr", CallName: "fremovexattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}}, NR: 16},
+ &Call{Name: "fsetxattr", CallName: "fsetxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 7},
&Call{Name: "fstat", CallName: "fstat", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"stat", "", DirOut})}}, NR: 80},
&Call{Name: "fstatfs", CallName: "fstatfs", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}}, NR: 44},
&Call{Name: "fsync", CallName: "fsync", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}}, NR: 82},
@@ -21810,7 +21848,7 @@ var Calls = []*Call{
&Call{Name: "getsockopt$sock_timeval", CallName: "getsockopt", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(1)}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "optname", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{20, 21}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"timeval", "", DirOut})}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", ArgDir: DirIn, IsOptional: false}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "", ArgDir: DirInOut, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}, Buf: "optval", ByteSize: 0}}}, NR: 209},
&Call{Name: "gettid", CallName: "gettid", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("pid")}, Args: []Type{}, NR: 178},
&Call{Name: "getuid", CallName: "getuid", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("uid")}, Args: []Type{}, NR: 174},
- &Call{Name: "getxattr", CallName: "getxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 8},
+ &Call{Name: "getxattr", CallName: "getxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 8},
&Call{Name: "init_module", CallName: "init_module", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "mod", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "mod", ByteSize: 0}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "args", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}}, NR: 105},
&Call{Name: "inotify_add_watch", CallName: "inotify_add_watch", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "inotifydesc", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("inotifydesc")}, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_inotify", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_inotify")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "mask", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 4, 8, 16, 256, 512, 1024, 2, 2048, 64, 128, 32, 33554432, 67108864, 536870912, 2147483648, 16777216}}}, NR: 27},
&Call{Name: "inotify_init", CallName: "inotify_init", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_inotify", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("fd_inotify")}, Args: []Type{}, NR: -1},
@@ -22358,7 +22396,7 @@ var Calls = []*Call{
&Call{Name: "keyctl$unlink", CallName: "keyctl", Native: true, Args: []Type{&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(9)}, &ResourceType{TypeCommon: TypeCommon{TypeName: "key", FldName: "key1", ArgDir: DirIn, IsOptional: false}, Desc: resource("key")}, &ResourceType{TypeCommon: TypeCommon{TypeName: "key", FldName: "key2", ArgDir: DirIn, IsOptional: false}, Desc: resource("key")}}, NR: 219},
&Call{Name: "keyctl$update", CallName: "keyctl", Native: true, Args: []Type{&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(2)}, &ResourceType{TypeCommon: TypeCommon{TypeName: "key", FldName: "key", ArgDir: DirIn, IsOptional: false}, Desc: resource("key")}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "payload", ArgDir: DirIn, IsOptional: true}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "payload", ArgDir: DirIn, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "paylen", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "payload", ByteSize: 0}}, NR: 219},
&Call{Name: "lchown", CallName: "lchown", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "uid", ArgDir: DirIn, IsOptional: false}, Desc: resource("uid")}, &ResourceType{TypeCommon: TypeCommon{TypeName: "gid", FldName: "gid", ArgDir: DirIn, IsOptional: false}, Desc: resource("gid")}}, NR: -1},
- &Call{Name: "lgetxattr", CallName: "lgetxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 9},
+ &Call{Name: "lgetxattr", CallName: "lgetxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 9},
&Call{Name: "link", CallName: "link", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}}, NR: -1},
&Call{Name: "linkat", CallName: "linkat", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "oldfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "newfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{4096, 1024}}}, NR: 37},
&Call{Name: "listen", CallName: "listen", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock")}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "backlog", ArgDir: DirIn, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}}}, NR: 201},
@@ -22366,9 +22404,9 @@ var Calls = []*Call{
&Call{Name: "listxattr", CallName: "listxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "list", ByteSize: 0}}, NR: 11},
&Call{Name: "llistxattr", CallName: "llistxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "list", ByteSize: 0}}, NR: 12},
&Call{Name: "lookup_dcookie", CallName: "lookup_dcookie", Native: true, Args: []Type{&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "buf", ByteSize: 0}}, NR: 18},
- &Call{Name: "lremovexattr", CallName: "lremovexattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}}, NR: 15},
+ &Call{Name: "lremovexattr", CallName: "lremovexattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}}, NR: 15},
&Call{Name: "lseek", CallName: "lseek", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Kind: IntFileoff}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "whence", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{0, 1, 2, 3, 4}}}, NR: 62},
- &Call{Name: "lsetxattr", CallName: "lsetxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 6},
+ &Call{Name: "lsetxattr", CallName: "lsetxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 6},
&Call{Name: "lstat", CallName: "lstat", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"stat", "", DirOut})}}, NR: -1},
&Call{Name: "madvise", CallName: "madvise", Native: true, Args: []Type{&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", ArgDir: DirIn, IsOptional: false}, RangeBegin: 0, RangeEnd: 0}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "addr", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "advice", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{0, 1, 2, 3, 4, 9, 10, 11, 100, 101, 12, 13, 14, 15, 16, 17}}}, NR: 233},
&Call{Name: "mbind", CallName: "mbind", Native: true, Args: []Type{&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", ArgDir: DirIn, IsOptional: false}, RangeBegin: 0, RangeEnd: 0}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "addr", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "mode", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{0, 2, 3, 1, 32768, 16384}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "nodemask", ArgDir: DirIn, IsOptional: false}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "maxnode", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2, 4}}}, NR: 235},
@@ -22513,7 +22551,7 @@ var Calls = []*Call{
&Call{Name: "recvmsg$kcm", CallName: "recvmsg", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_kcm", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock_kcm")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"recv_msghdr", "", DirIn})}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "f", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1073741824, 64, 8192, 1, 2, 32, 256, 65536}}}, NR: 212},
&Call{Name: "recvmsg$netrom", CallName: "recvmsg", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_netrom", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock_netrom")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"msghdr_netrom", "", DirIn})}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "f", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1073741824, 64, 8192, 1, 2, 32, 256, 65536}}}, NR: 212},
&Call{Name: "remap_file_pages", CallName: "remap_file_pages", Native: true, Args: []Type{&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", ArgDir: DirIn, IsOptional: false}, RangeBegin: 0, RangeEnd: 0}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "addr", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "prot", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{4, 1, 2, 8, 16777216, 33554432}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "pgoff", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0}}}, NR: 234},
- &Call{Name: "removexattr", CallName: "removexattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}}, NR: 14},
+ &Call{Name: "removexattr", CallName: "removexattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}}, NR: 14},
&Call{Name: "rename", CallName: "rename", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}}, NR: -1},
&Call{Name: "renameat", CallName: "renameat", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "oldfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "newfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}}, NR: 38},
&Call{Name: "renameat2", CallName: "renameat2", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "oldfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "newfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{2, 1, 4}}}, NR: 276},
@@ -22777,7 +22815,7 @@ var Calls = []*Call{
&Call{Name: "setsockopt$sock_timeval", CallName: "setsockopt", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(1)}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "optname", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{20, 21}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"timeval", "", DirIn})}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "optval", ByteSize: 0}}, NR: 208},
&Call{Name: "setsockopt$sock_void", CallName: "setsockopt", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(1)}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "optname", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{27, 36}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optval", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(0)}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optlen", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(0)}}, NR: 208},
&Call{Name: "setuid", CallName: "setuid", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "uid", ArgDir: DirIn, IsOptional: false}, Desc: resource("uid")}}, NR: 146},
- &Call{Name: "setxattr", CallName: "setxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 5},
+ &Call{Name: "setxattr", CallName: "setxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 5},
&Call{Name: "shmat", CallName: "shmat", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "shmaddr", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("shmaddr")}, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_shm", FldName: "shmid", ArgDir: DirIn, IsOptional: false}, Desc: resource("ipc_shm")}, &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", ArgDir: DirIn, IsOptional: false}, RangeBegin: 0, RangeEnd: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{8192, 4096, 16384}}}, NR: 196},
&Call{Name: "shmctl$IPC_INFO", CallName: "shmctl", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_shm", FldName: "shmid", ArgDir: DirIn, IsOptional: false}, Desc: resource("ipc_shm")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(3)}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}}, NR: 195},
&Call{Name: "shmctl$IPC_RMID", CallName: "shmctl", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_shm", FldName: "shmid", ArgDir: DirIn, IsOptional: false}, Desc: resource("ipc_shm")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(0)}}, NR: 195},
diff --git a/sys/sys_ppc64le.const b/sys/sys_ppc64le.const
index f779dc047..509e5559b 100644
--- a/sys/sys_ppc64le.const
+++ b/sys/sys_ppc64le.const
@@ -595,8 +595,6 @@ WNOHANG = 1
WNOWAIT = 16777216
WSTOPPED = 2
WUNTRACED = 2
-XATTR_CREATE = 1
-XATTR_REPLACE = 2
__NR_acct = 51
__NR_alarm = 27
__NR_capget = 183
@@ -640,12 +638,8 @@ __NR_fchown = 95
__NR_fchownat = 289
__NR_fcntl = 55
__NR_fdatasync = 148
-__NR_fgetxattr = 214
__NR_finit_module = 353
-__NR_flistxattr = 217
__NR_flock = 143
-__NR_fremovexattr = 220
-__NR_fsetxattr = 211
__NR_fstat = 108
__NR_fstatfs = 100
__NR_fsync = 118
@@ -674,7 +668,6 @@ __NR_getrlimit = 76
__NR_getrusage = 77
__NR_gettid = 207
__NR_getuid = 24
-__NR_getxattr = 212
__NR_init_module = 128
__NR_inotify_add_watch = 276
__NR_inotify_init = 275
@@ -693,15 +686,10 @@ __NR_ioprio_set = 273
__NR_kcmp = 354
__NR_kexec_load = 268
__NR_lchown = 16
-__NR_lgetxattr = 213
__NR_link = 9
__NR_linkat = 294
-__NR_listxattr = 215
-__NR_llistxattr = 216
__NR_lookup_dcookie = 235
-__NR_lremovexattr = 219
__NR_lseek = 19
-__NR_lsetxattr = 210
__NR_lstat = 107
__NR_madvise = 205
__NR_mbind = 259
@@ -760,7 +748,6 @@ __NR_readlink = 85
__NR_readlinkat = 296
__NR_readv = 145
__NR_remap_file_pages = 239
-__NR_removexattr = 218
__NR_rename = 38
__NR_renameat = 293
__NR_renameat2 = 357
@@ -804,7 +791,6 @@ __NR_setresuid = 164
__NR_setreuid = 70
__NR_setrlimit = 75
__NR_setuid = 23
-__NR_setxattr = 209
__NR_sigaltstack = 185
__NR_signalfd = 305
__NR_signalfd4 = 313
diff --git a/sys/sys_ppc64le.go b/sys/sys_ppc64le.go
index da1ad2c4c..7294777cc 100644
--- a/sys/sys_ppc64le.go
+++ b/sys/sys_ppc64le.go
@@ -765,6 +765,8 @@ var structArray = []Type{
&StructType{TypeCommon: TypeCommon{TypeName: "vt_stat", IsOptional: false}},
&StructType{TypeCommon: TypeCommon{TypeName: "winsize", IsOptional: false}},
&StructType{TypeCommon: TypeCommon{TypeName: "x25_packet", IsOptional: false}, packed: true},
+ &UnionType{TypeCommon: TypeCommon{TypeName: "xattr_name", IsOptional: false}, varlen: true},
+ &StructType{TypeCommon: TypeCommon{TypeName: "xattr_name_random", IsOptional: false}, packed: true},
&UnionType{TypeCommon: TypeCommon{TypeName: "xfrm_address", IsOptional: false}},
&StructType{TypeCommon: TypeCommon{TypeName: "xfrm_filter", IsOptional: false}},
&StructType{TypeCommon: TypeCommon{TypeName: "xfrm_id", IsOptional: false}},
@@ -21093,6 +21095,42 @@ var structFields = []struct {
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "frame", ArgDir: DirOut, IsOptional: false}, TypeSize: 1, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{11, 15, 19, 23, 0, 35, 39, 1, 5, 9, 27, 31, 243, 247, 251, 255, 241, 253}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "payload", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand},
}},
+ {structKey{"xattr_name", "", DirIn}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00"}, Length: 0},
+ getStruct(structKey{"xattr_name_random", "random", DirIn}),
+ }},
+ {structKey{"xattr_name", "", DirInOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00"}, Length: 0},
+ getStruct(structKey{"xattr_name_random", "random", DirInOut}),
+ }},
+ {structKey{"xattr_name", "", DirOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00"}, Length: 0},
+ getStruct(structKey{"xattr_name_random", "random", DirOut}),
+ }},
+ {structKey{"xattr_name_random", "", DirIn}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "", DirInOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "", DirOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "random", DirIn}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "random", DirInOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirInOut, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
+ {structKey{"xattr_name_random", "random", DirOut}, []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "prefix", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "xattr_prefix", Values: []string{"system.\x00", "trusted.\x00", "security.\x00", "user.\x00", "btrfs.\x00", "osx.\x00", "os2.\x00"}, Length: 0},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", ArgDir: DirOut, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0},
+ }},
{structKey{"xfrm_address", "", DirIn}, []Type{
getStruct(structKey{"ipv4_addr", "in", DirIn}),
getStruct(structKey{"ipv6_addr", "in6", DirIn}),
@@ -21609,12 +21647,12 @@ var Calls = []*Call{
&Call{Name: "fcntl$setsig", CallName: "fcntl", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(10)}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "signalno", FldName: "sig", ArgDir: DirIn, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}, Kind: IntSignalno}}, NR: 55},
&Call{Name: "fcntl$setstatus", CallName: "fcntl", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(4)}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1024, 8192, 131072, 262144, 2048}}}, NR: 55},
&Call{Name: "fdatasync", CallName: "fdatasync", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}}, NR: 148},
- &Call{Name: "fgetxattr", CallName: "fgetxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 214},
+ &Call{Name: "fgetxattr", CallName: "fgetxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 214},
&Call{Name: "finit_module", CallName: "finit_module", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "args", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 353},
&Call{Name: "flistxattr", CallName: "flistxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "list", ByteSize: 0}}, NR: 217},
&Call{Name: "flock", CallName: "flock", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "op", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2, 8, 4}}}, NR: 143},
- &Call{Name: "fremovexattr", CallName: "fremovexattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}}, NR: 220},
- &Call{Name: "fsetxattr", CallName: "fsetxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 211},
+ &Call{Name: "fremovexattr", CallName: "fremovexattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}}, NR: 220},
+ &Call{Name: "fsetxattr", CallName: "fsetxattr", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 211},
&Call{Name: "fstat", CallName: "fstat", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"stat", "", DirOut})}}, NR: 108},
&Call{Name: "fstatfs", CallName: "fstatfs", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}}, NR: 100},
&Call{Name: "fsync", CallName: "fsync", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}}, NR: 118},
@@ -21810,7 +21848,7 @@ var Calls = []*Call{
&Call{Name: "getsockopt$sock_timeval", CallName: "getsockopt", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(1)}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "optname", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{18, 19}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"timeval", "", DirOut})}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", ArgDir: DirIn, IsOptional: false}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "", ArgDir: DirInOut, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}, Buf: "optval", ByteSize: 0}}}, NR: 340},
&Call{Name: "gettid", CallName: "gettid", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("pid")}, Args: []Type{}, NR: 207},
&Call{Name: "getuid", CallName: "getuid", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("uid")}, Args: []Type{}, NR: 24},
- &Call{Name: "getxattr", CallName: "getxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 212},
+ &Call{Name: "getxattr", CallName: "getxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 212},
&Call{Name: "init_module", CallName: "init_module", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "mod", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "mod", ByteSize: 0}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "args", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}}, NR: 128},
&Call{Name: "inotify_add_watch", CallName: "inotify_add_watch", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "inotifydesc", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("inotifydesc")}, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_inotify", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_inotify")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "mask", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 4, 8, 16, 256, 512, 1024, 2, 2048, 64, 128, 32, 33554432, 67108864, 536870912, 2147483648, 16777216}}}, NR: 276},
&Call{Name: "inotify_init", CallName: "inotify_init", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_inotify", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("fd_inotify")}, Args: []Type{}, NR: 275},
@@ -22358,7 +22396,7 @@ var Calls = []*Call{
&Call{Name: "keyctl$unlink", CallName: "keyctl", Native: true, Args: []Type{&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(9)}, &ResourceType{TypeCommon: TypeCommon{TypeName: "key", FldName: "key1", ArgDir: DirIn, IsOptional: false}, Desc: resource("key")}, &ResourceType{TypeCommon: TypeCommon{TypeName: "key", FldName: "key2", ArgDir: DirIn, IsOptional: false}, Desc: resource("key")}}, NR: 271},
&Call{Name: "keyctl$update", CallName: "keyctl", Native: true, Args: []Type{&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(2)}, &ResourceType{TypeCommon: TypeCommon{TypeName: "key", FldName: "key", ArgDir: DirIn, IsOptional: false}, Desc: resource("key")}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "payload", ArgDir: DirIn, IsOptional: true}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "payload", ArgDir: DirIn, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "paylen", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "payload", ByteSize: 0}}, NR: 271},
&Call{Name: "lchown", CallName: "lchown", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "uid", ArgDir: DirIn, IsOptional: false}, Desc: resource("uid")}, &ResourceType{TypeCommon: TypeCommon{TypeName: "gid", FldName: "gid", ArgDir: DirIn, IsOptional: false}, Desc: resource("gid")}}, NR: 16},
- &Call{Name: "lgetxattr", CallName: "lgetxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 213},
+ &Call{Name: "lgetxattr", CallName: "lgetxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "val", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 213},
&Call{Name: "link", CallName: "link", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}}, NR: 9},
&Call{Name: "linkat", CallName: "linkat", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "oldfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "newfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{4096, 1024}}}, NR: 294},
&Call{Name: "listen", CallName: "listen", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock")}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "backlog", ArgDir: DirIn, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}}}, NR: 329},
@@ -22366,9 +22404,9 @@ var Calls = []*Call{
&Call{Name: "listxattr", CallName: "listxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "list", ByteSize: 0}}, NR: 215},
&Call{Name: "llistxattr", CallName: "llistxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "list", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "list", ByteSize: 0}}, NR: 216},
&Call{Name: "lookup_dcookie", CallName: "lookup_dcookie", Native: true, Args: []Type{&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "buf", ByteSize: 0}}, NR: 235},
- &Call{Name: "lremovexattr", CallName: "lremovexattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}}, NR: 219},
+ &Call{Name: "lremovexattr", CallName: "lremovexattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}}, NR: 219},
&Call{Name: "lseek", CallName: "lseek", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Kind: IntFileoff}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "whence", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{0, 1, 2, 3, 4}}}, NR: 19},
- &Call{Name: "lsetxattr", CallName: "lsetxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 210},
+ &Call{Name: "lsetxattr", CallName: "lsetxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 210},
&Call{Name: "lstat", CallName: "lstat", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"stat", "", DirOut})}}, NR: 107},
&Call{Name: "madvise", CallName: "madvise", Native: true, Args: []Type{&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", ArgDir: DirIn, IsOptional: false}, RangeBegin: 0, RangeEnd: 0}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "addr", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "advice", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{0, 1, 2, 3, 4, 9, 10, 11, 100, 101, 12, 13, 14, 15, 16, 17}}}, NR: 205},
&Call{Name: "mbind", CallName: "mbind", Native: true, Args: []Type{&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", ArgDir: DirIn, IsOptional: false}, RangeBegin: 0, RangeEnd: 0}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "addr", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "mode", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{0, 2, 3, 1, 32768, 16384}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "nodemask", ArgDir: DirIn, IsOptional: false}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "maxnode", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2, 4}}}, NR: 259},
@@ -22513,7 +22551,7 @@ var Calls = []*Call{
&Call{Name: "recvmsg$kcm", CallName: "recvmsg", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_kcm", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock_kcm")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"recv_msghdr", "", DirIn})}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "f", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1073741824, 64, 8192, 1, 2, 32, 256, 65536}}}, NR: 342},
&Call{Name: "recvmsg$netrom", CallName: "recvmsg", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_netrom", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock_netrom")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"msghdr_netrom", "", DirIn})}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "f", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1073741824, 64, 8192, 1, 2, 32, 256, 65536}}}, NR: 342},
&Call{Name: "remap_file_pages", CallName: "remap_file_pages", Native: true, Args: []Type{&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", ArgDir: DirIn, IsOptional: false}, RangeBegin: 0, RangeEnd: 0}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "addr", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "prot", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{4, 1, 2, 8, 16777216, 33554432}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "pgoff", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2, 32, 2048, 4096, 0, 16, 256, 262144, 128, 65536, 64, 32768, 131072, 0}}}, NR: 239},
- &Call{Name: "removexattr", CallName: "removexattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}}, NR: 218},
+ &Call{Name: "removexattr", CallName: "removexattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}}, NR: 218},
&Call{Name: "rename", CallName: "rename", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}}, NR: 38},
&Call{Name: "renameat", CallName: "renameat", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "oldfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "newfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}}, NR: 293},
&Call{Name: "renameat2", CallName: "renameat2", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "oldfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "newfd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_dir")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{2, 1, 4}}}, NR: 357},
@@ -22777,7 +22815,7 @@ var Calls = []*Call{
&Call{Name: "setsockopt$sock_timeval", CallName: "setsockopt", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(1)}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "optname", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{18, 19}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"timeval", "", DirIn})}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "optval", ByteSize: 0}}, NR: 339},
&Call{Name: "setsockopt$sock_void", CallName: "setsockopt", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("sock")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(1)}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "optname", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{27, 36}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optval", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(0)}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optlen", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(0)}}, NR: 339},
&Call{Name: "setuid", CallName: "setuid", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "uid", ArgDir: DirIn, IsOptional: false}, Desc: resource("uid")}}, NR: 23},
- &Call{Name: "setxattr", CallName: "setxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 209},
+ &Call{Name: "setxattr", CallName: "setxattr", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"xattr_name", "", DirIn})}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferString, SubKind: "", Values: []string(nil), Length: 0}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2}}}, NR: 209},
&Call{Name: "shmat", CallName: "shmat", Native: true, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "shmaddr", FldName: "ret", ArgDir: DirOut, IsOptional: false}, Desc: resource("shmaddr")}, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_shm", FldName: "shmid", ArgDir: DirIn, IsOptional: false}, Desc: resource("ipc_shm")}, &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", ArgDir: DirIn, IsOptional: false}, RangeBegin: 0, RangeEnd: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "flags", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{8192, 4096, 16384}}}, NR: -1},
&Call{Name: "shmctl$IPC_INFO", CallName: "shmctl", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_shm", FldName: "shmid", ArgDir: DirIn, IsOptional: false}, Desc: resource("ipc_shm")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(3)}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}}, NR: -1},
&Call{Name: "shmctl$IPC_RMID", CallName: "shmctl", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_shm", FldName: "shmid", ArgDir: DirIn, IsOptional: false}, Desc: resource("ipc_shm")}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(0)}}, NR: -1},
diff --git a/sys/xattr.txt b/sys/xattr.txt
new file mode 100644
index 000000000..1555aa689
--- /dev/null
+++ b/sys/xattr.txt
@@ -0,0 +1,33 @@
+# Copyright 2017 syzkaller project authors. All rights reserved.
+# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+include <linux/xattr.h>
+
+setxattr(path ptr[in, filename], name ptr[in, xattr_name], val ptr[in, string], size len[val], flags flags[setxattr_flags])
+lsetxattr(path ptr[in, filename], name ptr[in, xattr_name], val ptr[in, string], size len[val], flags flags[setxattr_flags])
+fsetxattr(fd fd, name ptr[in, xattr_name], val ptr[in, string], size len[val], flags flags[setxattr_flags])
+getxattr(path ptr[in, filename], name ptr[in, xattr_name], val buffer[out], size len[val])
+lgetxattr(path ptr[in, filename], name ptr[in, xattr_name], val buffer[out], size len[val])
+fgetxattr(fd fd, name ptr[in, xattr_name], val buffer[out], size len[val])
+listxattr(path ptr[in, filename], list buffer[out], size len[list])
+llistxattr(path ptr[in, filename], list buffer[out], size len[list])
+flistxattr(fd fd, list buffer[out], size len[list])
+removexattr(path ptr[in, filename], name ptr[in, xattr_name])
+lremovexattr(path ptr[in, filename], name ptr[in, xattr_name])
+fremovexattr(fd fd, name ptr[in, xattr_name])
+
+xattr_name [
+ known string[xattr_names]
+ random xattr_name_random
+] [varlen]
+
+xattr_name_random {
+ prefix string[xattr_prefix]
+ name string
+} [packed]
+
+setxattr_flags = XATTR_CREATE, XATTR_REPLACE
+
+xattr_prefix = "system.", "trusted.", "security.", "user.", "btrfs.", "osx.", "os2."
+
+xattr_names = "system.posix_acl_access", "system.posix_acl_default", "system.advise", "system.sockprotoname", "com.apple.FinderInfo", "com.apple.system.Security"
diff --git a/sys/xattr_amd64.const b/sys/xattr_amd64.const
new file mode 100644
index 000000000..57417ef4d
--- /dev/null
+++ b/sys/xattr_amd64.const
@@ -0,0 +1,15 @@
+# AUTOGENERATED FILE
+XATTR_CREATE = 1
+XATTR_REPLACE = 2
+__NR_fgetxattr = 193
+__NR_flistxattr = 196
+__NR_fremovexattr = 199
+__NR_fsetxattr = 190
+__NR_getxattr = 191
+__NR_lgetxattr = 192
+__NR_listxattr = 194
+__NR_llistxattr = 195
+__NR_lremovexattr = 198
+__NR_lsetxattr = 189
+__NR_removexattr = 197
+__NR_setxattr = 188
diff --git a/sys/xattr_arm64.const b/sys/xattr_arm64.const
new file mode 100644
index 000000000..d5cb26023
--- /dev/null
+++ b/sys/xattr_arm64.const
@@ -0,0 +1,15 @@
+# AUTOGENERATED FILE
+XATTR_CREATE = 1
+XATTR_REPLACE = 2
+__NR_fgetxattr = 10
+__NR_flistxattr = 13
+__NR_fremovexattr = 16
+__NR_fsetxattr = 7
+__NR_getxattr = 8
+__NR_lgetxattr = 9
+__NR_listxattr = 11
+__NR_llistxattr = 12
+__NR_lremovexattr = 15
+__NR_lsetxattr = 6
+__NR_removexattr = 14
+__NR_setxattr = 5
diff --git a/sys/xattr_ppc64le.const b/sys/xattr_ppc64le.const
new file mode 100644
index 000000000..592ffbbb2
--- /dev/null
+++ b/sys/xattr_ppc64le.const
@@ -0,0 +1,15 @@
+# AUTOGENERATED FILE
+XATTR_CREATE = 1
+XATTR_REPLACE = 2
+__NR_fgetxattr = 214
+__NR_flistxattr = 217
+__NR_fremovexattr = 220
+__NR_fsetxattr = 211
+__NR_getxattr = 212
+__NR_lgetxattr = 213
+__NR_listxattr = 215
+__NR_llistxattr = 216
+__NR_lremovexattr = 219
+__NR_lsetxattr = 210
+__NR_removexattr = 218
+__NR_setxattr = 209