aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2016-01-15 20:16:02 +0100
committerDmitry Vyukov <dvyukov@google.com>2016-01-15 20:16:02 +0100
commit81dc7f8dc8d450c5fd5b15f7ea4dd184ed35b497 (patch)
treeaaef241650864f063e40785887bf5c1abaf3864b /sys
parent1bdeb308d3e36cd340cee8554ba2f660425c3195 (diff)
sys: support /dev/input/event ioctls
Diffstat (limited to 'sys')
-rw-r--r--sys/input.txt172
-rw-r--r--sys/sys.go108
-rw-r--r--sys/sys_amd64.go2
-rw-r--r--sys/sys_arm64.go2
4 files changed, 282 insertions, 2 deletions
diff --git a/sys/input.txt b/sys/input.txt
index 3dc6e76d3..58885e7f7 100644
--- a/sys/input.txt
+++ b/sys/input.txt
@@ -1,6 +1,8 @@
# Copyright 2015 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/input.h>
+
# There seems to be nothing special we can do with this fd.
syz_open_dev$mouse(dev strconst["/dev/input/mouse#"], id intptr, flags flags[open_flags]) fd
syz_open_dev$mice(dev strconst["/dev/input/mice"], id const[0], flags flags[open_flags]) fd
@@ -10,6 +12,48 @@ syz_open_dev$evdev(dev strconst["/dev/input/event#"], id intptr, flags flags[ope
# TODO: len should be bute len of data (not array len)
write$evdev(fd fd[evdev], data ptr[in, array[input_event]], len intptr)
+ioctl$EVIOCGVERSION(fd fd[evdev], cmd const[EVIOCGVERSION], arg buffer[out])
+ioctl$EVIOCGID(fd fd[evdev], cmd const[EVIOCGID], arg buffer[out])
+ioctl$EVIOCGREP(fd fd[evdev], cmd const[EVIOCGREP], arg buffer[out])
+ioctl$EVIOCGKEYCODE(fd fd[evdev], cmd const[EVIOCGKEYCODE], arg buffer[out])
+ioctl$EVIOCGKEYCODE_V2(fd fd[evdev], cmd const[EVIOCGKEYCODE_V2], arg buffer[out])
+ioctl$EVIOCGEFFECTS(fd fd[evdev], cmd const[EVIOCGEFFECTS], arg buffer[out])
+ioctl$EVIOCGMASK(fd fd[evdev], cmd const[EVIOCGMASK], arg buffer[out])
+ioctl$EVIOCGNAME(fd fd[evdev], cmd const[EVIOCGNAME64], arg buffer[out])
+ioctl$EVIOCGPHYS(fd fd[evdev], cmd const[EVIOCGPHYS64], arg buffer[out])
+ioctl$EVIOCGUNIQ(fd fd[evdev], cmd const[EVIOCGUNIQ64], arg buffer[out])
+ioctl$EVIOCGPROP(fd fd[evdev], cmd const[EVIOCGPROP64], arg buffer[out])
+ioctl$EVIOCGMTSLOTS(fd fd[evdev], cmd const[EVIOCGMTSLOTS64], arg buffer[out])
+ioctl$EVIOCGKEY(fd fd[evdev], cmd const[EVIOCGKEY64], arg buffer[out])
+ioctl$EVIOCGLED(fd fd[evdev], cmd const[EVIOCGLED64], arg buffer[out])
+ioctl$EVIOCGSND(fd fd[evdev], cmd const[EVIOCGSND64], arg buffer[out])
+ioctl$EVIOCGSW(fd fd[evdev], cmd const[EVIOCGSW64], arg buffer[out])
+ioctl$EVIOCGBITKEY(fd fd[evdev], cmd const[EVIOCGBITKEY64], arg buffer[out])
+ioctl$EVIOCGBITSND(fd fd[evdev], cmd const[EVIOCGBITSND64], arg buffer[out])
+ioctl$EVIOCGBITSW(fd fd[evdev], cmd const[EVIOCGBITSW64], arg buffer[out])
+ioctl$EVIOCGABS0(fd fd[evdev], cmd const[EVIOCGABS0], arg buffer[out])
+ioctl$EVIOCGABS20(fd fd[evdev], cmd const[EVIOCGABS20], arg buffer[out])
+ioctl$EVIOCGABS2F(fd fd[evdev], cmd const[EVIOCGABS2F], arg buffer[out])
+ioctl$EVIOCGABS3F(fd fd[evdev], cmd const[EVIOCGABS3F], arg buffer[out])
+
+ioctl$EVIOCSREP(fd fd[evdev], cmd const[EVIOCSREP], arg ptr[in, array[int32, 2]])
+ioctl$EVIOCSKEYCODE(fd fd[evdev], cmd const[EVIOCSKEYCODE], arg ptr[in, array[int32, 2]])
+ioctl$EVIOCSKEYCODE_V2(fd fd[evdev], cmd const[EVIOCSKEYCODE_V2], arg ptr[in, input_keymap_entry])
+ioctl$EVIOCSFF(fd fd[evdev], cmd const[EVIOCSFF], arg ptr[in, ff_effect])
+ioctl$EVIOCRMFF(fd fd[evdev], cmd const[EVIOCRMFF], arg ptr[in, int32])
+ioctl$EVIOCGRAB(fd fd[evdev], cmd const[EVIOCGRAB], arg ptr[in, int32])
+ioctl$EVIOCREVOKE(fd fd[evdev], cmd const[EVIOCREVOKE], arg ptr[in, int32])
+ioctl$EVIOCSMASK(fd fd[evdev], cmd const[EVIOCSMASK], arg ptr[in, input_mask])
+ioctl$EVIOCSCLOCKID(fd fd[evdev], cmd const[EVIOCSCLOCKID], arg ptr[in, int32])
+ioctl$EVIOCSABS0(fd fd[evdev], cmd const[EVIOCSABS0], arg ptr[in, input_absinfo])
+ioctl$EVIOCSABS20(fd fd[evdev], cmd const[EVIOCSABS20], arg ptr[in, input_absinfo])
+ioctl$EVIOCSABS2F(fd fd[evdev], cmd const[EVIOCSABS2F], arg ptr[in, input_absinfo])
+ioctl$EVIOCSABS3F(fd fd[evdev], cmd const[EVIOCSABS3F], arg ptr[in, input_absinfo])
+
+ff_effect_type = FF_PERIODIC, FF_CONSTANT, FF_SPRING, FF_FRICTION, FF_DAMPER, FF_INERTIA, FF_RAMP
+ff_periodic_effect_wave = FF_SQUARE, FF_TRIANGLE, FF_SINE, FF_SAW_UP, FF_SAW_DOWN, FF_CUSTOM
+input_mask_type = EV_SYN, EV_KEY, EV_REL, EV_ABS, EV_MSC, EV_SW, EV_LED, EV_SND, EV_FF
+
input_event {
time timeval
type int16
@@ -17,3 +61,131 @@ input_event {
val int32
}
+input_keymap_entry {
+ flags int8
+ len int8
+ index int16
+ keycode int32
+ scancod array[int8, 32]
+}
+
+ff_effect {
+ type flags[ff_effect_type, int16]
+ id int16
+ dir int16
+ trigger ff_trigger
+ replay ff_replay
+ u ff_effect_u
+}
+
+ff_effect_u [
+ const ff_constant_effect
+ ramp ff_ramp_effect
+ period ff_periodic_effect
+ cond array[ff_condition_effect, 2]
+ rumble ff_rumble_effect
+]
+
+ff_trigger {
+ button int16
+ interv int16
+}
+
+ff_replay {
+ len int16
+ delay int16
+}
+
+ff_constant_effect {
+ level int16
+ envelop ff_envelope
+}
+
+ff_ramp_effect {
+ slevel int16
+ elevel int16
+ envelop ff_envelope
+}
+
+ff_periodic_effect {
+ wave flags[ff_periodic_effect_wave, int16]
+ period int16
+ magnit int16
+ offset int16
+ phase int16
+ envelop ff_envelope
+ len len[custom, int32]
+ custom array[int16]
+}
+
+ff_condition_effect {
+ rsatur int16
+ lsatur int16
+ rcoeff int16
+ lcoeff int16
+ dead int16
+ center int16
+}
+
+ff_rumble_effect {
+ smagnit int16
+ wmagnit int16
+}
+
+ff_envelope {
+ len int16
+ level int16
+ flen int16
+ flevel int16
+}
+
+input_mask {
+ type flags[input_mask_type, int32]
+ size int32
+ ptr buffer[in]
+}
+
+input_absinfo {
+ val int32
+ min int32
+ max int32
+ fuzz int32
+ flag int32
+ res int32
+}
+
+define EV_SYN 0x00
+define EV_KEY 0x01
+define EV_REL 0x02
+define EV_ABS 0x03
+define EV_MSC 0x04
+define EV_SW 0x05
+define EV_LED 0x11
+define EV_SND 0x12
+define EV_REP 0x14
+define EV_FF 0x15
+define EV_PWR 0x16
+define EV_FF_STATUS 0x17
+
+define EVIOCGMASK _IOR('E', 0x92, int)
+define EVIOCSMASK _IOW('E', 0x93, int)
+define EVIOCGNAME64 EVIOCGNAME(64)
+define EVIOCGPHYS64 EVIOCGPHYS(64)
+define EVIOCGUNIQ64 EVIOCGUNIQ(64)
+define EVIOCGPROP64 EVIOCGPROP(64)
+define EVIOCGMTSLOTS64 EVIOCGMTSLOTS(64)
+define EVIOCGKEY64 EVIOCGKEY(64)
+define EVIOCGLED64 EVIOCGLED(64)
+define EVIOCGSND64 EVIOCGSND(64)
+define EVIOCGSW64 EVIOCGSW(64)
+define EVIOCGBITKEY64 EVIOCGBIT(EV_KEY, 64)
+define EVIOCGBITSND64 EVIOCGBIT(EV_SND, 64)
+define EVIOCGBITSW64 EVIOCGBIT(EV_SW, 64)
+define EVIOCGABS0 EVIOCGABS(0)
+define EVIOCGABS20 EVIOCGABS(0x20)
+define EVIOCGABS2F EVIOCGABS(0x2F)
+define EVIOCGABS3F EVIOCGABS(0x3F)
+define EVIOCSABS0 EVIOCSABS(0)
+define EVIOCSABS20 EVIOCSABS(0x20)
+define EVIOCSABS2F EVIOCSABS(0x2F)
+define EVIOCSABS3F EVIOCSABS(0x3F)
diff --git a/sys/sys.go b/sys/sys.go
index a9c90109b..09e347fc8 100644
--- a/sys/sys.go
+++ b/sys/sys.go
@@ -2586,4 +2586,112 @@ func initCalls() {
func() {
Calls = append(Calls, &Call{ID: 861, Name: "write$evdev", CallName: "write", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, PtrType{TypeCommon: TypeCommon{TypeName: "data", IsOptional: false}, Type: ArrayType{TypeCommon: TypeCommon{TypeName: "", IsOptional: false}, Type: StructType{TypeCommon: TypeCommon{TypeName: "input_event", IsOptional: false}, Fields: []Type{StructType{TypeCommon: TypeCommon{TypeName: "timeval", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "sec", IsOptional: false}, TypeSize: 8}, IntType{TypeCommon: TypeCommon{TypeName: "usec", IsOptional: false}, TypeSize: 8}}}, IntType{TypeCommon: TypeCommon{TypeName: "type", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "code", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "val", IsOptional: false}, TypeSize: 4}}}, Len: 0}, Dir: DirIn}, IntType{TypeCommon: TypeCommon{TypeName: "len", IsOptional: false}, TypeSize: 8}}})
}()
+ func() {
+ Calls = append(Calls, &Call{ID: 862, Name: "ioctl$EVIOCGVERSION", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2147763457)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 863, Name: "ioctl$EVIOCGID", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2148025602)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 864, Name: "ioctl$EVIOCGREP", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2148025603)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 865, Name: "ioctl$EVIOCGKEYCODE", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2148025604)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 866, Name: "ioctl$EVIOCGKEYCODE_V2", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2150122756)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 867, Name: "ioctl$EVIOCGEFFECTS", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2147763588)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 868, Name: "ioctl$EVIOCGMASK", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2147763602)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 869, Name: "ioctl$EVIOCGNAME", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2151695622)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 870, Name: "ioctl$EVIOCGPHYS", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2151695623)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 871, Name: "ioctl$EVIOCGUNIQ", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2151695624)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 872, Name: "ioctl$EVIOCGPROP", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2151695625)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 873, Name: "ioctl$EVIOCGMTSLOTS", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2151695626)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 874, Name: "ioctl$EVIOCGKEY", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2151695640)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 875, Name: "ioctl$EVIOCGLED", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2151695641)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 876, Name: "ioctl$EVIOCGSND", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2151695642)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 877, Name: "ioctl$EVIOCGSW", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2151695643)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 878, Name: "ioctl$EVIOCGBITKEY", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2151695649)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 879, Name: "ioctl$EVIOCGBITSND", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2151695666)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 880, Name: "ioctl$EVIOCGBITSW", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2151695653)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 881, Name: "ioctl$EVIOCGABS0", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2149074240)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 882, Name: "ioctl$EVIOCGABS20", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2149074272)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 883, Name: "ioctl$EVIOCGABS2F", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2149074287)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 884, Name: "ioctl$EVIOCGABS3F", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2149074303)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Dir: DirOut, Type: BufferType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Kind: BufferBlob}}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 885, Name: "ioctl$EVIOCSREP", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1074283779)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: ArrayType{TypeCommon: TypeCommon{TypeName: "", IsOptional: false}, Type: IntType{TypeCommon: TypeCommon{TypeName: "", IsOptional: false}, TypeSize: 4}, Len: 2}, Dir: DirIn}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 886, Name: "ioctl$EVIOCSKEYCODE", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1074283780)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: ArrayType{TypeCommon: TypeCommon{TypeName: "", IsOptional: false}, Type: IntType{TypeCommon: TypeCommon{TypeName: "", IsOptional: false}, TypeSize: 4}, Len: 2}, Dir: DirIn}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 887, Name: "ioctl$EVIOCSKEYCODE_V2", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1076380932)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: StructType{TypeCommon: TypeCommon{TypeName: "input_keymap_entry", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "flags", IsOptional: false}, TypeSize: 1}, IntType{TypeCommon: TypeCommon{TypeName: "len", IsOptional: false}, TypeSize: 1}, IntType{TypeCommon: TypeCommon{TypeName: "index", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "keycode", IsOptional: false}, TypeSize: 4}, ArrayType{TypeCommon: TypeCommon{TypeName: "scancod", IsOptional: false}, Type: IntType{TypeCommon: TypeCommon{TypeName: "", IsOptional: false}, TypeSize: 1}, Len: 32}}}, Dir: DirIn}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 888, Name: "ioctl$EVIOCSFF", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1076905344)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: StructType{TypeCommon: TypeCommon{TypeName: "ff_effect", IsOptional: false}, Fields: []Type{FlagsType{TypeCommon: TypeCommon{TypeName: "type", IsOptional: false}, TypeSize: 2, Vals: []uintptr{81, 82, 83, 84, 85, 86, 87}}, IntType{TypeCommon: TypeCommon{TypeName: "id", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "dir", IsOptional: false}, TypeSize: 2}, StructType{TypeCommon: TypeCommon{TypeName: "ff_trigger", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "button", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "interv", IsOptional: false}, TypeSize: 2}}}, StructType{TypeCommon: TypeCommon{TypeName: "ff_replay", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "len", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "delay", IsOptional: false}, TypeSize: 2}}}, UnionType{TypeCommon: TypeCommon{TypeName: "ff_effect_u", IsOptional: false}, Options: []Type{StructType{TypeCommon: TypeCommon{TypeName: "ff_constant_effect", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "level", IsOptional: false}, TypeSize: 2}, StructType{TypeCommon: TypeCommon{TypeName: "ff_envelope", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "len", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "level", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "flen", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "flevel", IsOptional: false}, TypeSize: 2}}}}}, StructType{TypeCommon: TypeCommon{TypeName: "ff_ramp_effect", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "slevel", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "elevel", IsOptional: false}, TypeSize: 2}, StructType{TypeCommon: TypeCommon{TypeName: "ff_envelope", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "len", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "level", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "flen", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "flevel", IsOptional: false}, TypeSize: 2}}}}}, StructType{TypeCommon: TypeCommon{TypeName: "ff_periodic_effect", IsOptional: false}, Fields: []Type{FlagsType{TypeCommon: TypeCommon{TypeName: "wave", IsOptional: false}, TypeSize: 2, Vals: []uintptr{88, 89, 90, 91, 92, 93}}, IntType{TypeCommon: TypeCommon{TypeName: "period", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "magnit", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "offset", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "phase", IsOptional: false}, TypeSize: 2}, StructType{TypeCommon: TypeCommon{TypeName: "ff_envelope", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "len", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "level", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "flen", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "flevel", IsOptional: false}, TypeSize: 2}}}, LenType{TypeCommon: TypeCommon{TypeName: "len", IsOptional: false}, Buf: "custom", TypeSize: 4}, ArrayType{TypeCommon: TypeCommon{TypeName: "custom", IsOptional: false}, Type: IntType{TypeCommon: TypeCommon{TypeName: "", IsOptional: false}, TypeSize: 2}, Len: 0}}}, ArrayType{TypeCommon: TypeCommon{TypeName: "cond", IsOptional: false}, Type: StructType{TypeCommon: TypeCommon{TypeName: "ff_condition_effect", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "rsatur", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "lsatur", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "rcoeff", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "lcoeff", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "dead", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "center", IsOptional: false}, TypeSize: 2}}}, Len: 2}, StructType{TypeCommon: TypeCommon{TypeName: "ff_rumble_effect", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "smagnit", IsOptional: false}, TypeSize: 2}, IntType{TypeCommon: TypeCommon{TypeName: "wmagnit", IsOptional: false}, TypeSize: 2}}}}}}}, Dir: DirIn}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 889, Name: "ioctl$EVIOCRMFF", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1074021761)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: IntType{TypeCommon: TypeCommon{TypeName: "", IsOptional: false}, TypeSize: 4}, Dir: DirIn}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 890, Name: "ioctl$EVIOCGRAB", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1074021776)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: IntType{TypeCommon: TypeCommon{TypeName: "", IsOptional: false}, TypeSize: 4}, Dir: DirIn}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 891, Name: "ioctl$EVIOCREVOKE", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1074021777)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: IntType{TypeCommon: TypeCommon{TypeName: "", IsOptional: false}, TypeSize: 4}, Dir: DirIn}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 892, Name: "ioctl$EVIOCSMASK", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1074021779)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: StructType{TypeCommon: TypeCommon{TypeName: "input_mask", IsOptional: false}, Fields: []Type{FlagsType{TypeCommon: TypeCommon{TypeName: "type", IsOptional: false}, TypeSize: 4, Vals: []uintptr{0, 1, 2, 3, 4, 5, 17, 18, 21}}, IntType{TypeCommon: TypeCommon{TypeName: "size", IsOptional: false}, TypeSize: 4}, PtrType{TypeCommon: TypeCommon{TypeName: "ptr", IsOptional: false}, Dir: DirIn, Type: BufferType{TypeCommon: TypeCommon{TypeName: "ptr", IsOptional: false}, Kind: BufferBlob}}}}, Dir: DirIn}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 893, Name: "ioctl$EVIOCSCLOCKID", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1074021792)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: IntType{TypeCommon: TypeCommon{TypeName: "", IsOptional: false}, TypeSize: 4}, Dir: DirIn}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 894, Name: "ioctl$EVIOCSABS0", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1075332544)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: StructType{TypeCommon: TypeCommon{TypeName: "input_absinfo", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "val", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "min", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "max", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "fuzz", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "flag", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "res", IsOptional: false}, TypeSize: 4}}}, Dir: DirIn}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 895, Name: "ioctl$EVIOCSABS20", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1075332576)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: StructType{TypeCommon: TypeCommon{TypeName: "input_absinfo", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "val", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "min", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "max", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "fuzz", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "flag", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "res", IsOptional: false}, TypeSize: 4}}}, Dir: DirIn}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 896, Name: "ioctl$EVIOCSABS2F", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1075332591)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: StructType{TypeCommon: TypeCommon{TypeName: "input_absinfo", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "val", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "min", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "max", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "fuzz", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "flag", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "res", IsOptional: false}, TypeSize: 4}}}, Dir: DirIn}}})
+ }()
+ func() {
+ Calls = append(Calls, &Call{ID: 897, Name: "ioctl$EVIOCSABS3F", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdInputEvent}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1075332607)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: StructType{TypeCommon: TypeCommon{TypeName: "input_absinfo", IsOptional: false}, Fields: []Type{IntType{TypeCommon: TypeCommon{TypeName: "val", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "min", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "max", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "fuzz", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "flag", IsOptional: false}, TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "res", IsOptional: false}, TypeSize: 4}}}, Dir: DirIn}}})
+ }()
}
diff --git a/sys/sys_amd64.go b/sys/sys_amd64.go
index bdbe0f398..8b91d9c36 100644
--- a/sys/sys_amd64.go
+++ b/sys/sys_amd64.go
@@ -2,4 +2,4 @@
package sys
// Maps internal syscall ID onto kernel syscall number.
-var numbers = []int{2, 2, 257, 85, 3, 0, 17, 19, 295, 1, 18, 20, 296, 8, 32, 33, 292, 22, 293, 276, 275, 278, 40, 4, 6, 5, 7, 271, 23, 270, 213, 291, 233, 232, 281, 282, 289, 284, 290, 283, 286, 287, 323, 16, 16, 16, 16, 16, 16, 9, 11, 25, 216, 10, 26, 28, 221, 187, 237, 279, 256, 238, 239, 27, 149, 325, 150, 151, 152, 319, 272, 312, 202, 273, 274, 219, 16, 16, 16, 16, 16, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 206, 207, 208, 209, 210, 125, 126, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, 317, 240, 242, 243, 244, 245, 241, 68, 69, 70, 71, 64, 65, 220, 66, 29, 30, 31, 67, 133, 259, 90, 91, 268, 92, 94, 93, 260, 285, 269, 132, 235, 261, 280, 104, 108, 105, 106, 102, 107, 109, 121, 111, 39, 186, 113, 114, 117, 119, 118, 120, 122, 123, 115, 116, 135, 253, 294, 254, 255, 300, 301, 86, 265, 266, 88, 87, 263, 89, 267, 82, 264, 316, 83, 258, 84, 76, 77, 73, 74, 75, 162, 306, 277, 212, 78, 217, 303, 304, 165, 165, 166, 155, 139, 139, 139, 137, 138, 134, 175, 313, 176, 246, 177, 103, 63, 99, 136, 163, 98, 97, 160, 302, 172, 173, 252, 252, 251, 251, 308, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 201, 228, 227, 305, 229, 230, 222, 224, 225, 223, 226, 13, 14, 15, 127, 128, 130, 129, 297, 131, 234, 200, 34, 37, 35, 36, 38, 60, 231, 247, 61, 100, 205, 211, 154, 154, 154, 154, 310, 311, 218, 140, 141, 145, 144, 148, 143, 142, 204, 203, 315, 314, 24, 318, 324, 41, 53, 43, 288, 49, 50, 42, 48, 44, 46, 307, 45, 47, 299, 51, 52, 55, 54, 16, 16, 54, 55, 54, 54, 55, 54, 55, 54, 55, 54, 54, 54, 55, 54, 55, 55, 54, 55, 54, 55, 54, 55, 54, 55, 55, 54, 55, 54, 55, 54, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 41, 53, 49, 42, 43, 288, 44, 46, 307, 45, 51, 52, 41, 49, 54, 54, 43, 46, 307, 41, 49, 42, 43, 54, 54, 55, 46, 307, 41, 42, 41, 49, 16, 54, 54, 54, 55, 41, 49, 42, 55, 55, 41, 49, 42, 54, 55, 54, 55, 54, 55, 41, 49, 42, 54, 55, 55, 41, 16, 16, 16, 16, 41, 16, 16, 16, 16, 41, 16, 16, 16, 16, 16, 16, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 2, 1000002, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 298, 16, 16, 16, 16, 16, 16, 16, 16, 16, 248, 249, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 1000003, 1000004, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1000001, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 2, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 41, 41, 53, 49, 42, 43, 288, 44, 46, 307, 45, 51, 52, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 1000001, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 2, 1000001, 1, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 1000001, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 1000001, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 1000001, 1000001, 1000001, 1}
+var numbers = []int{2, 2, 257, 85, 3, 0, 17, 19, 295, 1, 18, 20, 296, 8, 32, 33, 292, 22, 293, 276, 275, 278, 40, 4, 6, 5, 7, 271, 23, 270, 213, 291, 233, 232, 281, 282, 289, 284, 290, 283, 286, 287, 323, 16, 16, 16, 16, 16, 16, 9, 11, 25, 216, 10, 26, 28, 221, 187, 237, 279, 256, 238, 239, 27, 149, 325, 150, 151, 152, 319, 272, 312, 202, 273, 274, 219, 16, 16, 16, 16, 16, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 206, 207, 208, 209, 210, 125, 126, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, 317, 240, 242, 243, 244, 245, 241, 68, 69, 70, 71, 64, 65, 220, 66, 29, 30, 31, 67, 133, 259, 90, 91, 268, 92, 94, 93, 260, 285, 269, 132, 235, 261, 280, 104, 108, 105, 106, 102, 107, 109, 121, 111, 39, 186, 113, 114, 117, 119, 118, 120, 122, 123, 115, 116, 135, 253, 294, 254, 255, 300, 301, 86, 265, 266, 88, 87, 263, 89, 267, 82, 264, 316, 83, 258, 84, 76, 77, 73, 74, 75, 162, 306, 277, 212, 78, 217, 303, 304, 165, 165, 166, 155, 139, 139, 139, 137, 138, 134, 175, 313, 176, 246, 177, 103, 63, 99, 136, 163, 98, 97, 160, 302, 172, 173, 252, 252, 251, 251, 308, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 201, 228, 227, 305, 229, 230, 222, 224, 225, 223, 226, 13, 14, 15, 127, 128, 130, 129, 297, 131, 234, 200, 34, 37, 35, 36, 38, 60, 231, 247, 61, 100, 205, 211, 154, 154, 154, 154, 310, 311, 218, 140, 141, 145, 144, 148, 143, 142, 204, 203, 315, 314, 24, 318, 324, 41, 53, 43, 288, 49, 50, 42, 48, 44, 46, 307, 45, 47, 299, 51, 52, 55, 54, 16, 16, 54, 55, 54, 54, 55, 54, 55, 54, 55, 54, 54, 54, 55, 54, 55, 55, 54, 55, 54, 55, 54, 55, 54, 55, 55, 54, 55, 54, 55, 54, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 41, 53, 49, 42, 43, 288, 44, 46, 307, 45, 51, 52, 41, 49, 54, 54, 43, 46, 307, 41, 49, 42, 43, 54, 54, 55, 46, 307, 41, 42, 41, 49, 16, 54, 54, 54, 55, 41, 49, 42, 55, 55, 41, 49, 42, 54, 55, 54, 55, 54, 55, 41, 49, 42, 54, 55, 55, 41, 16, 16, 16, 16, 41, 16, 16, 16, 16, 41, 16, 16, 16, 16, 16, 16, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 2, 1000002, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 298, 16, 16, 16, 16, 16, 16, 16, 16, 16, 248, 249, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 1000003, 1000004, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1000001, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 2, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 41, 41, 53, 49, 42, 43, 288, 44, 46, 307, 45, 51, 52, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 1000001, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 2, 1000001, 1, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 1000001, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 1000001, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 1000001, 1000001, 1000001, 1, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16}
diff --git a/sys/sys_arm64.go b/sys/sys_arm64.go
index fa3e854d2..4f7f92e47 100644
--- a/sys/sys_arm64.go
+++ b/sys/sys_arm64.go
@@ -2,4 +2,4 @@
package sys
// Maps internal syscall ID onto kernel syscall number.
-var numbers = []int{-1, -1, 56, -1, 57, 63, 67, 65, 69, 64, 68, 66, 70, 62, 23, -1, 24, -1, 59, 77, 76, 75, 71, -1, -1, 80, -1, 73, -1, 72, -1, 20, 21, -1, 22, -1, 74, -1, 19, 85, 86, 87, -1, 29, 29, 29, 29, 29, 29, 222, 215, 216, 234, 226, 227, 233, 223, 213, 235, 239, 238, 237, 236, 232, 228, -1, 229, 230, 231, -1, 97, 272, 98, 99, 100, 128, 29, 29, 29, 29, 29, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 0, 1, 4, 2, 3, 90, 91, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, -1, 277, 180, 182, 183, 184, 185, 181, 186, 189, 188, 187, 190, 193, 192, 191, 194, 196, 195, 197, -1, 33, -1, 52, 53, -1, -1, 55, 54, 47, 48, -1, -1, -1, 88, 176, 177, 146, 144, 174, 175, 154, 155, -1, 172, 178, 145, 143, 147, 149, 148, 150, 151, 152, 158, 159, 92, -1, 26, 27, 28, 262, 263, -1, 37, 36, -1, -1, 35, -1, 78, -1, 38, 276, -1, 34, -1, 45, 46, 32, 82, 83, 81, 267, 84, 18, -1, 61, 264, 265, 40, 40, 39, 41, -1, -1, -1, 43, 44, -1, 105, 273, 106, 104, -1, 116, 160, 179, -1, 89, 165, 163, 164, 261, -1, -1, 31, 31, 30, 30, 268, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, 113, 112, 266, 114, 115, 107, 108, 109, 110, 111, 134, 135, 139, 136, 137, 133, 138, 240, 132, 131, 130, -1, -1, 101, 102, 103, 93, 94, 95, 260, 153, -1, -1, -1, -1, -1, -1, 270, 271, 96, 141, 140, 120, 119, 127, 121, 118, 123, 122, 275, 274, 124, -1, -1, 198, 199, 202, 242, 200, 201, 203, 210, 206, 211, 269, 207, 212, 243, 204, 205, 209, 208, 29, 29, 208, 209, 208, 208, 209, 208, 209, 208, 209, 208, 208, 208, 209, 208, 209, 209, 208, 209, 208, 209, 208, 209, 208, 209, 209, 208, 209, 208, 209, 208, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, 208, 198, 199, 200, 203, 202, 242, 206, 211, 269, 207, 204, 205, 198, 200, 208, 208, 202, 211, 269, 198, 200, 203, 202, 208, 208, 209, 211, 269, 198, 203, 198, 200, 29, 208, 208, 208, 209, 198, 200, 203, 209, 209, 198, 200, 203, 208, 209, 208, 209, 208, 209, 198, 200, 203, 208, 209, 209, 198, 29, 29, 29, 29, 198, 29, 29, 29, 29, 198, 29, 29, 29, 29, 29, 29, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, -1, 1000002, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 241, 29, 29, 29, 29, 29, 29, 29, 29, 29, 217, 218, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1000003, 1000004, 29, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 1000001, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -1, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 198, 198, 199, 200, 203, 202, 242, 206, 211, 269, 207, 204, 205, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 1000001, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -1, 1000001, 64, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 1000001, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 1000001, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 1000001, 1000001, 1000001, 64}
+var numbers = []int{-1, -1, 56, -1, 57, 63, 67, 65, 69, 64, 68, 66, 70, 62, 23, -1, 24, -1, 59, 77, 76, 75, 71, -1, -1, 80, -1, 73, -1, 72, -1, 20, 21, -1, 22, -1, 74, -1, 19, 85, 86, 87, -1, 29, 29, 29, 29, 29, 29, 222, 215, 216, 234, 226, 227, 233, 223, 213, 235, 239, 238, 237, 236, 232, 228, -1, 229, 230, 231, -1, 97, 272, 98, 99, 100, 128, 29, 29, 29, 29, 29, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 0, 1, 4, 2, 3, 90, 91, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, -1, 277, 180, 182, 183, 184, 185, 181, 186, 189, 188, 187, 190, 193, 192, 191, 194, 196, 195, 197, -1, 33, -1, 52, 53, -1, -1, 55, 54, 47, 48, -1, -1, -1, 88, 176, 177, 146, 144, 174, 175, 154, 155, -1, 172, 178, 145, 143, 147, 149, 148, 150, 151, 152, 158, 159, 92, -1, 26, 27, 28, 262, 263, -1, 37, 36, -1, -1, 35, -1, 78, -1, 38, 276, -1, 34, -1, 45, 46, 32, 82, 83, 81, 267, 84, 18, -1, 61, 264, 265, 40, 40, 39, 41, -1, -1, -1, 43, 44, -1, 105, 273, 106, 104, -1, 116, 160, 179, -1, 89, 165, 163, 164, 261, -1, -1, 31, 31, 30, 30, 268, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, 113, 112, 266, 114, 115, 107, 108, 109, 110, 111, 134, 135, 139, 136, 137, 133, 138, 240, 132, 131, 130, -1, -1, 101, 102, 103, 93, 94, 95, 260, 153, -1, -1, -1, -1, -1, -1, 270, 271, 96, 141, 140, 120, 119, 127, 121, 118, 123, 122, 275, 274, 124, -1, -1, 198, 199, 202, 242, 200, 201, 203, 210, 206, 211, 269, 207, 212, 243, 204, 205, 209, 208, 29, 29, 208, 209, 208, 208, 209, 208, 209, 208, 209, 208, 208, 208, 209, 208, 209, 209, 208, 209, 208, 209, 208, 209, 208, 209, 209, 208, 209, 208, 209, 208, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, 208, 198, 199, 200, 203, 202, 242, 206, 211, 269, 207, 204, 205, 198, 200, 208, 208, 202, 211, 269, 198, 200, 203, 202, 208, 208, 209, 211, 269, 198, 203, 198, 200, 29, 208, 208, 208, 209, 198, 200, 203, 209, 209, 198, 200, 203, 208, 209, 208, 209, 208, 209, 198, 200, 203, 208, 209, 209, 198, 29, 29, 29, 29, 198, 29, 29, 29, 29, 198, 29, 29, 29, 29, 29, 29, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, 208, 209, -1, 1000002, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 241, 29, 29, 29, 29, 29, 29, 29, 29, 29, 217, 218, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1000003, 1000004, 29, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 1000001, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -1, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 198, 198, 199, 200, 203, 202, 242, 206, 211, 269, 207, 204, 205, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 1000001, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -1, 1000001, 64, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 1000001, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 1000001, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 1000001, 1000001, 1000001, 64, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29}