aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-01-03 09:58:49 +0100
committerDmitry Vyukov <dvyukov@google.com>2020-01-03 16:11:49 +0100
commit7ec787382c33306ab8adce8c6a54c5528f0f9398 (patch)
treea52db73b5c39080d00d478799f9d37c055a94c09 /sys/linux
parentfca6a74d0c61dd34f252deb900c52027d9fc373f (diff)
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.
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/gen/386.go14
-rw-r--r--sys/linux/gen/amd64.go14
-rw-r--r--sys/linux/gen/arm.go14
-rw-r--r--sys/linux/gen/arm64.go14
-rw-r--r--sys/linux/gen/mips64le.go14
-rw-r--r--sys/linux/gen/ppc64le.go14
-rw-r--r--sys/linux/socket.txt2
-rw-r--r--sys/linux/socket_can.txt2
8 files changed, 44 insertions, 44 deletions
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 {