From 7ec787382c33306ab8adce8c6a54c5528f0f9398 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 3 Jan 2020 09:58:49 +0100 Subject: sys/linux: fix SIOCGIFINDEX Mark ifindex as opt in SIOCGIFINDEX. Otherwise it's considered inout and SIOCGIFINDEX can't be used to produce ifindex'es on its own. It requires an input ifindex first and only then it can output own ifindex. --- sys/linux/gen/386.go | 14 +++++++------- sys/linux/gen/amd64.go | 14 +++++++------- sys/linux/gen/arm.go | 14 +++++++------- sys/linux/gen/arm64.go | 14 +++++++------- sys/linux/gen/mips64le.go | 14 +++++++------- sys/linux/gen/ppc64le.go | 14 +++++++------- sys/linux/socket.txt | 2 +- sys/linux/socket_can.txt | 2 +- 8 files changed, 44 insertions(+), 44 deletions(-) (limited to 'sys/linux') diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go index 8a105e4c1..c9c386611 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -8549,9 +8549,9 @@ var structDescs_386 = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "tun_setiff_flags", FldName: "elem", TypeSize: 2}}, Vals: []uint64{1, 2, 16, 32, 4096, 8192, 16384, 32768, 256, 512, 1024, 2048, 4096}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 14}}, IsPad: true}, }}}, - {Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifindex]", TypeSize: 32, ArgDir: 2}, Fields: []Type{ + {Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex[opt]]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifindex[opt]]", TypeSize: 32, ArgDir: 2}, Fields: []Type{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "ifr_ifrn", TypeSize: 16, ArgDir: 2}, Kind: 2, SubKind: "devnames", Values: []string{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "tunl0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gretap0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip_vti0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6_vti0\x00\x00\x00\x00\x00\x00\x00\x00", "sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6tnl0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gretap0\x00\x00\x00\x00\x00\x00", "bond0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "dummy0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "eql\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ifb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ipddp0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "yam0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bcsf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bcsh0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "teql0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "irlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "erspan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bpq0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bridge0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "team0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz_tun\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_bridge\x00", "veth1_to_bridge\x00", "veth0_to_bond\x00\x00\x00", "veth1_to_bond\x00\x00\x00", "veth0_to_team\x00\x00\x00", "veth1_to_team\x00\x00\x00", "bridge_slave_0\x00\x00", "bridge_slave_1\x00\x00", "bond_slave_0\x00\x00\x00\x00", "bond_slave_1\x00\x00\x00\x00", "team_slave_0\x00\x00\x00\x00", "team_slave_1\x00\x00\x00\x00", "syzkaller0\x00\x00\x00\x00\x00\x00", "syzkaller1\x00\x00\x00\x00\x00\x00", "lapb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "hwsim0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_hsr\x00\x00\x00\x00", "veth1_to_hsr\x00\x00\x00\x00", "hsr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6erspan0\x00\x00\x00\x00\x00\x00", "nlmon0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "caif0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "batadv0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "netdevsim0\x00\x00\x00\x00\x00\x00", "netpci0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "xfrm0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_virt_wifi\x00", "veth1_virt_wifi\x00", "virt_wifi0\x00\x00\x00\x00\x00\x00"}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "elem", TypeSize: 4, ArgDir: 2}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "elem", TypeSize: 4, ArgDir: 2, IsOptional: true}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 12}}, IsPad: true}, }}}, {Key: StructKey{Name: "ifreq_dev_t[devnames, ifr_ifru]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifr_ifru]", TypeSize: 32, ArgDir: 2}, Fields: []Type{ @@ -8600,9 +8600,9 @@ var structDescs_386 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "elem", ArgDir: 1}, Kind: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 16}}, IsPad: true}, }}}, - {Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", TypeSize: 32, ArgDir: 2}, Fields: []Type{ + {Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", TypeSize: 32, ArgDir: 2}, Fields: []Type{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "ifr_ifrn", TypeSize: 16, ArgDir: 2}, Kind: 2, SubKind: "vcan_device_names", Values: []string{"vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex_vcan", FldName: "elem", TypeSize: 4, ArgDir: 2}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex_vcan", FldName: "elem", TypeSize: 4, ArgDir: 2, IsOptional: true}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 12}}, IsPad: true}, }}}, {Key: StructKey{Name: "ifs_ifsu", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifs_ifsu", TypeSize: 4, ArgDir: 2}, Fields: []Type{ @@ -43068,7 +43068,7 @@ var syscalls_386 = []*Syscall{ {NR: 54, Name: "ioctl$ifreq_SIOCGIFINDEX_vcan", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 35123}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", Dir: 2}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", Dir: 2}}}, }}, {NR: 54, Name: "ioctl$int_in", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, @@ -43138,7 +43138,7 @@ var syscalls_386 = []*Syscall{ {NR: 54, Name: "ioctl$sock_SIOCGIFINDEX", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 35123}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex]", Dir: 2}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex[opt]]", Dir: 2}}}, }}, {NR: 54, Name: "ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, @@ -60206,4 +60206,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "fc8551aa0fd6abc38eba8bff7ad4703ea5276d5f" +const revision_386 = "bb5236c3c8ede7565c96b31028b9629b150f9f6a" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 5848f0978..3e61889be 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -8695,9 +8695,9 @@ var structDescs_amd64 = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "tun_setiff_flags", FldName: "elem", TypeSize: 2}}, Vals: []uint64{1, 2, 16, 32, 4096, 8192, 16384, 32768, 256, 512, 1024, 2048, 4096}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 22}}, IsPad: true}, }}}, - {Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifindex]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ + {Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex[opt]]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifindex[opt]]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "ifr_ifrn", TypeSize: 16, ArgDir: 2}, Kind: 2, SubKind: "devnames", Values: []string{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "tunl0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gretap0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip_vti0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6_vti0\x00\x00\x00\x00\x00\x00\x00\x00", "sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6tnl0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gretap0\x00\x00\x00\x00\x00\x00", "bond0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "dummy0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "eql\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ifb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ipddp0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "yam0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bcsf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bcsh0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "teql0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "irlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "erspan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bpq0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bridge0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "team0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz_tun\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_bridge\x00", "veth1_to_bridge\x00", "veth0_to_bond\x00\x00\x00", "veth1_to_bond\x00\x00\x00", "veth0_to_team\x00\x00\x00", "veth1_to_team\x00\x00\x00", "bridge_slave_0\x00\x00", "bridge_slave_1\x00\x00", "bond_slave_0\x00\x00\x00\x00", "bond_slave_1\x00\x00\x00\x00", "team_slave_0\x00\x00\x00\x00", "team_slave_1\x00\x00\x00\x00", "syzkaller0\x00\x00\x00\x00\x00\x00", "syzkaller1\x00\x00\x00\x00\x00\x00", "lapb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "hwsim0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_hsr\x00\x00\x00\x00", "veth1_to_hsr\x00\x00\x00\x00", "hsr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6erspan0\x00\x00\x00\x00\x00\x00", "nlmon0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "caif0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "batadv0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "netdevsim0\x00\x00\x00\x00\x00\x00", "netpci0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "xfrm0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_virt_wifi\x00", "veth1_virt_wifi\x00", "virt_wifi0\x00\x00\x00\x00\x00\x00"}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "elem", TypeSize: 4, ArgDir: 2}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "elem", TypeSize: 4, ArgDir: 2, IsOptional: true}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 20}}, IsPad: true}, }}}, {Key: StructKey{Name: "ifreq_dev_t[devnames, ifr_ifru]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifr_ifru]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ @@ -8749,9 +8749,9 @@ var structDescs_amd64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "elem", ArgDir: 1}, Kind: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 24}}, IsPad: true}, }}}, - {Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ + {Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "ifr_ifrn", TypeSize: 16, ArgDir: 2}, Kind: 2, SubKind: "vcan_device_names", Values: []string{"vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex_vcan", FldName: "elem", TypeSize: 4, ArgDir: 2}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex_vcan", FldName: "elem", TypeSize: 4, ArgDir: 2, IsOptional: true}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 20}}, IsPad: true}, }}}, {Key: StructKey{Name: "ifs_ifsu", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifs_ifsu", TypeSize: 8, ArgDir: 2}, Fields: []Type{ @@ -43754,7 +43754,7 @@ var syscalls_amd64 = []*Syscall{ {NR: 16, Name: "ioctl$ifreq_SIOCGIFINDEX_vcan", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 35123}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", Dir: 2}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", Dir: 2}}}, }}, {NR: 16, Name: "ioctl$int_in", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, @@ -43824,7 +43824,7 @@ var syscalls_amd64 = []*Syscall{ {NR: 16, Name: "ioctl$sock_SIOCGIFINDEX", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 35123}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex]", Dir: 2}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex[opt]]", Dir: 2}}}, }}, {NR: 16, Name: "ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, @@ -60906,4 +60906,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "5433486f12d6cc7254bd0ac72842e94ffc061e3e" +const revision_amd64 = "002bf49a9ae12966e1c6e0b3596e26c97c027af8" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index 4d7702a7b..4e2e1682b 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -8584,9 +8584,9 @@ var structDescs_arm = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "tun_setiff_flags", FldName: "elem", TypeSize: 2}}, Vals: []uint64{1, 2, 16, 32, 4096, 8192, 16384, 32768, 256, 512, 1024, 2048, 4096}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 14}}, IsPad: true}, }}}, - {Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifindex]", TypeSize: 32, ArgDir: 2}, Fields: []Type{ + {Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex[opt]]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifindex[opt]]", TypeSize: 32, ArgDir: 2}, Fields: []Type{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "ifr_ifrn", TypeSize: 16, ArgDir: 2}, Kind: 2, SubKind: "devnames", Values: []string{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "tunl0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gretap0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip_vti0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6_vti0\x00\x00\x00\x00\x00\x00\x00\x00", "sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6tnl0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gretap0\x00\x00\x00\x00\x00\x00", "bond0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "dummy0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "eql\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ifb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ipddp0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "yam0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bcsf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bcsh0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "teql0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "irlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "erspan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bpq0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bridge0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "team0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz_tun\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_bridge\x00", "veth1_to_bridge\x00", "veth0_to_bond\x00\x00\x00", "veth1_to_bond\x00\x00\x00", "veth0_to_team\x00\x00\x00", "veth1_to_team\x00\x00\x00", "bridge_slave_0\x00\x00", "bridge_slave_1\x00\x00", "bond_slave_0\x00\x00\x00\x00", "bond_slave_1\x00\x00\x00\x00", "team_slave_0\x00\x00\x00\x00", "team_slave_1\x00\x00\x00\x00", "syzkaller0\x00\x00\x00\x00\x00\x00", "syzkaller1\x00\x00\x00\x00\x00\x00", "lapb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "hwsim0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_hsr\x00\x00\x00\x00", "veth1_to_hsr\x00\x00\x00\x00", "hsr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6erspan0\x00\x00\x00\x00\x00\x00", "nlmon0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "caif0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "batadv0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "netdevsim0\x00\x00\x00\x00\x00\x00", "netpci0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "xfrm0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_virt_wifi\x00", "veth1_virt_wifi\x00", "virt_wifi0\x00\x00\x00\x00\x00\x00"}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "elem", TypeSize: 4, ArgDir: 2}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "elem", TypeSize: 4, ArgDir: 2, IsOptional: true}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 12}}, IsPad: true}, }}}, {Key: StructKey{Name: "ifreq_dev_t[devnames, ifr_ifru]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifr_ifru]", TypeSize: 32, ArgDir: 2}, Fields: []Type{ @@ -8635,9 +8635,9 @@ var structDescs_arm = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "elem", ArgDir: 1}, Kind: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 16}}, IsPad: true}, }}}, - {Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", TypeSize: 32, ArgDir: 2}, Fields: []Type{ + {Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", TypeSize: 32, ArgDir: 2}, Fields: []Type{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "ifr_ifrn", TypeSize: 16, ArgDir: 2}, Kind: 2, SubKind: "vcan_device_names", Values: []string{"vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex_vcan", FldName: "elem", TypeSize: 4, ArgDir: 2}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex_vcan", FldName: "elem", TypeSize: 4, ArgDir: 2, IsOptional: true}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 12}}, IsPad: true}, }}}, {Key: StructKey{Name: "ifs_ifsu", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifs_ifsu", TypeSize: 4, ArgDir: 2}, Fields: []Type{ @@ -42828,7 +42828,7 @@ var syscalls_arm = []*Syscall{ {NR: 54, Name: "ioctl$ifreq_SIOCGIFINDEX_vcan", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 35123}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", Dir: 2}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", Dir: 2}}}, }}, {NR: 54, Name: "ioctl$int_in", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, @@ -42898,7 +42898,7 @@ var syscalls_arm = []*Syscall{ {NR: 54, Name: "ioctl$sock_SIOCGIFINDEX", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 35123}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex]", Dir: 2}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex[opt]]", Dir: 2}}}, }}, {NR: 54, Name: "ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, @@ -59854,4 +59854,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "e881d871ba924215b7ffc90dbeb26774a6e75e97" +const revision_arm = "58685293752d7ebcee6374ccdb63983932e0f6c3" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index 37e6673c9..c9165a00e 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -8695,9 +8695,9 @@ var structDescs_arm64 = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "tun_setiff_flags", FldName: "elem", TypeSize: 2}}, Vals: []uint64{1, 2, 16, 32, 4096, 8192, 16384, 32768, 256, 512, 1024, 2048, 4096}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 22}}, IsPad: true}, }}}, - {Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifindex]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ + {Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex[opt]]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifindex[opt]]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "ifr_ifrn", TypeSize: 16, ArgDir: 2}, Kind: 2, SubKind: "devnames", Values: []string{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "tunl0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gretap0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip_vti0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6_vti0\x00\x00\x00\x00\x00\x00\x00\x00", "sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6tnl0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gretap0\x00\x00\x00\x00\x00\x00", "bond0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "dummy0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "eql\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ifb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ipddp0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "yam0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bcsf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bcsh0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "teql0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "irlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "erspan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bpq0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bridge0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "team0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz_tun\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_bridge\x00", "veth1_to_bridge\x00", "veth0_to_bond\x00\x00\x00", "veth1_to_bond\x00\x00\x00", "veth0_to_team\x00\x00\x00", "veth1_to_team\x00\x00\x00", "bridge_slave_0\x00\x00", "bridge_slave_1\x00\x00", "bond_slave_0\x00\x00\x00\x00", "bond_slave_1\x00\x00\x00\x00", "team_slave_0\x00\x00\x00\x00", "team_slave_1\x00\x00\x00\x00", "syzkaller0\x00\x00\x00\x00\x00\x00", "syzkaller1\x00\x00\x00\x00\x00\x00", "lapb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "hwsim0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_hsr\x00\x00\x00\x00", "veth1_to_hsr\x00\x00\x00\x00", "hsr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6erspan0\x00\x00\x00\x00\x00\x00", "nlmon0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "caif0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "batadv0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "netdevsim0\x00\x00\x00\x00\x00\x00", "netpci0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "xfrm0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_virt_wifi\x00", "veth1_virt_wifi\x00", "virt_wifi0\x00\x00\x00\x00\x00\x00"}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "elem", TypeSize: 4, ArgDir: 2}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "elem", TypeSize: 4, ArgDir: 2, IsOptional: true}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 20}}, IsPad: true}, }}}, {Key: StructKey{Name: "ifreq_dev_t[devnames, ifr_ifru]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifr_ifru]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ @@ -8749,9 +8749,9 @@ var structDescs_arm64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "elem", ArgDir: 1}, Kind: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 24}}, IsPad: true}, }}}, - {Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ + {Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "ifr_ifrn", TypeSize: 16, ArgDir: 2}, Kind: 2, SubKind: "vcan_device_names", Values: []string{"vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex_vcan", FldName: "elem", TypeSize: 4, ArgDir: 2}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex_vcan", FldName: "elem", TypeSize: 4, ArgDir: 2, IsOptional: true}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 20}}, IsPad: true}, }}}, {Key: StructKey{Name: "ifs_ifsu", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifs_ifsu", TypeSize: 8, ArgDir: 2}, Fields: []Type{ @@ -43343,7 +43343,7 @@ var syscalls_arm64 = []*Syscall{ {NR: 29, Name: "ioctl$ifreq_SIOCGIFINDEX_vcan", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 35123}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", Dir: 2}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", Dir: 2}}}, }}, {NR: 29, Name: "ioctl$int_in", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, @@ -43413,7 +43413,7 @@ var syscalls_arm64 = []*Syscall{ {NR: 29, Name: "ioctl$sock_SIOCGIFINDEX", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 35123}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex]", Dir: 2}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex[opt]]", Dir: 2}}}, }}, {NR: 29, Name: "ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, @@ -60251,4 +60251,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "33b7dfcc5cc20c2e4822297114ab46480909125c" +const revision_arm64 = "bad87abec40e90cde32c7b0225d8728d2e24554c" diff --git a/sys/linux/gen/mips64le.go b/sys/linux/gen/mips64le.go index 03796e5d3..03344b47a 100644 --- a/sys/linux/gen/mips64le.go +++ b/sys/linux/gen/mips64le.go @@ -8692,9 +8692,9 @@ var structDescs_mips64le = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "tun_setiff_flags", FldName: "elem", TypeSize: 2}}, Vals: []uint64{1, 2, 16, 32, 4096, 8192, 16384, 32768, 256, 512, 1024, 2048, 4096}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 22}}, IsPad: true}, }}}, - {Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifindex]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ + {Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex[opt]]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifindex[opt]]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "ifr_ifrn", TypeSize: 16, ArgDir: 2}, Kind: 2, SubKind: "devnames", Values: []string{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "tunl0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gretap0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip_vti0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6_vti0\x00\x00\x00\x00\x00\x00\x00\x00", "sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6tnl0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gretap0\x00\x00\x00\x00\x00\x00", "bond0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "dummy0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "eql\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ifb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ipddp0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "yam0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bcsf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bcsh0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "teql0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "irlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "erspan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bpq0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bridge0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "team0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz_tun\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_bridge\x00", "veth1_to_bridge\x00", "veth0_to_bond\x00\x00\x00", "veth1_to_bond\x00\x00\x00", "veth0_to_team\x00\x00\x00", "veth1_to_team\x00\x00\x00", "bridge_slave_0\x00\x00", "bridge_slave_1\x00\x00", "bond_slave_0\x00\x00\x00\x00", "bond_slave_1\x00\x00\x00\x00", "team_slave_0\x00\x00\x00\x00", "team_slave_1\x00\x00\x00\x00", "syzkaller0\x00\x00\x00\x00\x00\x00", "syzkaller1\x00\x00\x00\x00\x00\x00", "lapb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "hwsim0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_hsr\x00\x00\x00\x00", "veth1_to_hsr\x00\x00\x00\x00", "hsr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6erspan0\x00\x00\x00\x00\x00\x00", "nlmon0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "caif0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "batadv0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "netdevsim0\x00\x00\x00\x00\x00\x00", "netpci0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "xfrm0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_virt_wifi\x00", "veth1_virt_wifi\x00", "virt_wifi0\x00\x00\x00\x00\x00\x00"}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "elem", TypeSize: 4, ArgDir: 2}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "elem", TypeSize: 4, ArgDir: 2, IsOptional: true}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 20}}, IsPad: true}, }}}, {Key: StructKey{Name: "ifreq_dev_t[devnames, ifr_ifru]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifr_ifru]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ @@ -8746,9 +8746,9 @@ var structDescs_mips64le = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "elem", ArgDir: 1}, Kind: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 24}}, IsPad: true}, }}}, - {Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ + {Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "ifr_ifrn", TypeSize: 16, ArgDir: 2}, Kind: 2, SubKind: "vcan_device_names", Values: []string{"vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex_vcan", FldName: "elem", TypeSize: 4, ArgDir: 2}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex_vcan", FldName: "elem", TypeSize: 4, ArgDir: 2, IsOptional: true}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 20}}, IsPad: true}, }}}, {Key: StructKey{Name: "ifs_ifsu", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifs_ifsu", TypeSize: 8, ArgDir: 2}, Fields: []Type{ @@ -41900,7 +41900,7 @@ var syscalls_mips64le = []*Syscall{ {NR: 5015, Name: "ioctl$ifreq_SIOCGIFINDEX_vcan", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 35123}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", Dir: 2}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", Dir: 2}}}, }}, {NR: 5015, Name: "ioctl$int_in", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, @@ -41970,7 +41970,7 @@ var syscalls_mips64le = []*Syscall{ {NR: 5015, Name: "ioctl$sock_SIOCGIFINDEX", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 35123}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex]", Dir: 2}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex[opt]]", Dir: 2}}}, }}, {NR: 5015, Name: "ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, @@ -57876,4 +57876,4 @@ var consts_mips64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_mips64le = "478703fad5b3bc5c902ee6276c2629beb066aa39" +const revision_mips64le = "2edfb349869d3d1fd167dfe8926f01ee8c7092b1" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index 3b03ffe6c..3e62ba436 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -8694,9 +8694,9 @@ var structDescs_ppc64le = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "tun_setiff_flags", FldName: "elem", TypeSize: 2}}, Vals: []uint64{1, 2, 16, 32, 4096, 8192, 16384, 32768, 256, 512, 1024, 2048, 4096}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 22}}, IsPad: true}, }}}, - {Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifindex]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ + {Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex[opt]]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifindex[opt]]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "ifr_ifrn", TypeSize: 16, ArgDir: 2}, Kind: 2, SubKind: "devnames", Values: []string{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "tunl0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gretap0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip_vti0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6_vti0\x00\x00\x00\x00\x00\x00\x00\x00", "sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6tnl0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gretap0\x00\x00\x00\x00\x00\x00", "bond0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "dummy0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "eql\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ifb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ipddp0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "yam0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bcsf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bcsh0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "teql0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "irlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "erspan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bpq0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bridge0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "team0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz_tun\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_bridge\x00", "veth1_to_bridge\x00", "veth0_to_bond\x00\x00\x00", "veth1_to_bond\x00\x00\x00", "veth0_to_team\x00\x00\x00", "veth1_to_team\x00\x00\x00", "bridge_slave_0\x00\x00", "bridge_slave_1\x00\x00", "bond_slave_0\x00\x00\x00\x00", "bond_slave_1\x00\x00\x00\x00", "team_slave_0\x00\x00\x00\x00", "team_slave_1\x00\x00\x00\x00", "syzkaller0\x00\x00\x00\x00\x00\x00", "syzkaller1\x00\x00\x00\x00\x00\x00", "lapb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "hwsim0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_hsr\x00\x00\x00\x00", "veth1_to_hsr\x00\x00\x00\x00", "hsr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6erspan0\x00\x00\x00\x00\x00\x00", "nlmon0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "caif0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "batadv0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "netdevsim0\x00\x00\x00\x00\x00\x00", "netpci0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "xfrm0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_virt_wifi\x00", "veth1_virt_wifi\x00", "virt_wifi0\x00\x00\x00\x00\x00\x00"}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "elem", TypeSize: 4, ArgDir: 2}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "elem", TypeSize: 4, ArgDir: 2, IsOptional: true}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 20}}, IsPad: true}, }}}, {Key: StructKey{Name: "ifreq_dev_t[devnames, ifr_ifru]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[devnames, ifr_ifru]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ @@ -8748,9 +8748,9 @@ var structDescs_ppc64le = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "elem", ArgDir: 1}, Kind: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 24}}, IsPad: true}, }}}, - {Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ + {Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", TypeSize: 40, ArgDir: 2}, Fields: []Type{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "ifr_ifrn", TypeSize: 16, ArgDir: 2}, Kind: 2, SubKind: "vcan_device_names", Values: []string{"vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex_vcan", FldName: "elem", TypeSize: 4, ArgDir: 2}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex_vcan", FldName: "elem", TypeSize: 4, ArgDir: 2, IsOptional: true}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 20}}, IsPad: true}, }}}, {Key: StructKey{Name: "ifs_ifsu", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ifs_ifsu", TypeSize: 8, ArgDir: 2}, Fields: []Type{ @@ -43203,7 +43203,7 @@ var syscalls_ppc64le = []*Syscall{ {NR: 54, Name: "ioctl$ifreq_SIOCGIFINDEX_vcan", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 35123}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan]", Dir: 2}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]", Dir: 2}}}, }}, {NR: 54, Name: "ioctl$int_in", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, @@ -43273,7 +43273,7 @@ var syscalls_ppc64le = []*Syscall{ {NR: 54, Name: "ioctl$sock_SIOCGIFINDEX", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 35123}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex]", Dir: 2}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ifreq_dev_t[devnames, ifindex[opt]]", Dir: 2}}}, }}, {NR: 54, Name: "ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, @@ -60210,4 +60210,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "22fcd68970b3b2d79e435303d3db764f024e7436" +const revision_ppc64le = "e4e112da9918fedbd90f96c7b669259606b83f22" diff --git a/sys/linux/socket.txt b/sys/linux/socket.txt index 2d88a095c..0f6ce518c 100644 --- a/sys/linux/socket.txt +++ b/sys/linux/socket.txt @@ -280,7 +280,7 @@ ifreq_ioctls = SIOCGIFNAME, SIOCSIFLINK, SIOCGIFFLAGS, SIOCSIFFLAGS, SIOCGIFADDR ioctl$sock_ifreq(fd sock, cmd flags[ifreq_ioctls], arg ptr[inout, ifreq]) -ioctl$sock_SIOCGIFINDEX(fd sock, cmd const[SIOCGIFINDEX], arg ptr[inout, ifreq_t[ifindex]]) +ioctl$sock_SIOCGIFINDEX(fd sock, cmd const[SIOCGIFINDEX], arg ptr[inout, ifreq_t[ifindex[opt]]]) ioctl$sock_SIOCGIFBR(fd sock, cmd const[SIOCGIFBR], arg ptr[inout, brctl_arg]) ioctl$sock_SIOCSIFBR(fd sock, cmd const[SIOCSIFBR], arg ptr[inout, brctl_arg]) diff --git a/sys/linux/socket_can.txt b/sys/linux/socket_can.txt index dadb3e24c..e22185067 100644 --- a/sys/linux/socket_can.txt +++ b/sys/linux/socket_can.txt @@ -51,7 +51,7 @@ getsockopt$SO_J1939_PROMISC(fd sock_can_j1939, level const[SOL_CAN_J1939], opt c getsockopt$SO_J1939_ERRQUEUE(fd sock_can_j1939, level const[SOL_CAN_J1939], opt const[SO_J1939_ERRQUEUE], val ptr[out, int32], len ptr[inout, bytesize[val, int32]]) getsockopt$SO_J1939_SEND_PRIO(fd sock_can_j1939, level const[SOL_CAN_J1939], opt const[SO_J1939_SEND_PRIO], val ptr[out, int32], len ptr[inout, bytesize[val, int32]]) -ioctl$ifreq_SIOCGIFINDEX_vcan(fd sock, cmd const[SIOCGIFINDEX], arg ptr[inout, ifreq_dev_t[vcan_device_names, ifindex_vcan]]) +ioctl$ifreq_SIOCGIFINDEX_vcan(fd sock, cmd const[SIOCGIFINDEX], arg ptr[inout, ifreq_dev_t[vcan_device_names, ifindex_vcan[opt]]]) vcan_device_names = "vcan0", "vxcan0", "vxcan1" sockaddr_can { -- cgit mrf-deployment