aboutsummaryrefslogtreecommitdiffstats
path: root/sys/sys_amd64.go
diff options
context:
space:
mode:
authorAndrey Konovalov <andreyknvl@google.com>2017-07-11 16:49:08 +0200
committerAndrey Konovalov <andreyknvl@google.com>2017-07-17 14:34:09 +0200
commitcfc46d9d0bea72865ba75e0e4063a1a558262df8 (patch)
tree80455a77ab10d09154bb1ae66a12de002b7cd030 /sys/sys_amd64.go
parent8d1e7095528712971312a83e067cdd803aaccc47 (diff)
prog: split Arg into smaller structs
Right now Arg is a huge struct (160 bytes), which has many different fields used for different arg kinds. Since most of the args we see in a typical corpus are ArgConst, this results in a significant memory overuse. This change: - makes Arg an interface instead of a struct - adds a SomethingArg struct for each arg kind we have - converts all *Arg pointers into just Arg, since interface variable by itself contains a pointer to the actual data - removes ArgPageSize, now ConstArg is used instead - consolidates correspondence between arg kinds and types, see comments before each SomethingArg struct definition - now LenType args that denote the length of VmaType args are serialized as "0x1000" instead of "(0x1000)"; to preserve backwards compatibility syzkaller is able to parse the old format for now - multiple small changes all over to make the above work After this change syzkaller uses twice less memory after deserializing a typical corpus.
Diffstat (limited to 'sys/sys_amd64.go')
-rw-r--r--sys/sys_amd64.go139
1 files changed, 71 insertions, 68 deletions
diff --git a/sys/sys_amd64.go b/sys/sys_amd64.go
index f59fb8611..88835de03 100644
--- a/sys/sys_amd64.go
+++ b/sys/sys_amd64.go
@@ -87,6 +87,9 @@ var resourceArray = []*ResourceDesc{
&ResourceDesc{Name: "sock_unix", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "resource-type", ArgDir: DirInOut, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}}, Kind: []string{"fd", "sock", "sock_unix"}, Values: []uintptr{0xffffffffffffffff, 18446744073709551516}},
&ResourceDesc{Name: "tcp_seq_num", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "resource-type", ArgDir: DirInOut, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}}, Kind: []string{"tcp_seq_num"}, Values: []uintptr{0x42424242}},
&ResourceDesc{Name: "te_session_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "resource-type", ArgDir: DirInOut, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}}, Kind: []string{"te_session_id"}, Values: []uintptr{0}},
+ &ResourceDesc{Name: "time_nsec", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "resource-type", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}, Kind: []string{"time_nsec"}, Values: []uintptr{0}},
+ &ResourceDesc{Name: "time_sec", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "resource-type", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}, Kind: []string{"time_sec"}, Values: []uintptr{0}},
+ &ResourceDesc{Name: "time_usec", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "resource-type", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}, Kind: []string{"time_usec"}, Values: []uintptr{0}},
&ResourceDesc{Name: "timerid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "resource-type", ArgDir: DirInOut, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}}, Kind: []string{"timerid"}, Values: []uintptr{0}},
&ResourceDesc{Name: "uid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "resource-type", ArgDir: DirInOut, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}}, Kind: []string{"uid"}, Values: []uintptr{0, 0xffffffffffffffff}},
}
@@ -20112,136 +20115,136 @@ var structFields = []struct {
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "cc15_18", ArgDir: DirOut, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}},
}},
{structKey{"timespec", "", DirIn}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timespec", "", DirInOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timespec", "", DirOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timespec", "interv", DirIn}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timespec", "interv", DirInOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timespec", "interv", DirOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timespec", "time", DirIn}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timespec", "time", DirInOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timespec", "time", DirOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timespec", "tstamp", DirIn}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timespec", "tstamp", DirInOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timespec", "tstamp", DirOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timespec", "value", DirIn}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timespec", "value", DirInOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timespec", "value", DirOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_nsec", FldName: "nsec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_nsec")},
}},
{structKey{"timeval", "", DirIn}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "", DirInOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "", DirOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "interv", DirIn}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "interv", DirInOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "interv", DirOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "stime", DirIn}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "stime", DirInOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "stime", DirOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "time", DirIn}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "time", DirInOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "time", DirOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "utime", DirIn}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "utime", DirInOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "utime", DirOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "value", DirIn}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirIn, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "value", DirInOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirInOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirInOut, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timeval", "value", DirOut}, []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_sec", FldName: "sec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_sec")},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "time_usec", FldName: "usec", ArgDir: DirOut, IsOptional: false}, Desc: resource("time_usec")},
}},
{structKey{"timex", "", DirIn}, []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "stuff0", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}},
@@ -22379,7 +22382,7 @@ var Calls = []*Call{
&Call{Name: "ptrace$setsig", CallName: "ptrace", Native: true, Args: []Type{&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Val: uintptr(16899)}, &ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "pid", ArgDir: DirIn, IsOptional: false}, Desc: resource("pid")}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "ignored", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"siginfo", "", DirIn})}}, NR: 101},
&Call{Name: "pwrite64", CallName: "pwrite64", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "buf", ByteSize: 0}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "pos", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Kind: IntFileoff}}, NR: 18},
&Call{Name: "pwritev", CallName: "pwritev", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", ArgDir: DirIn, IsOptional: false}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"iovec_in", "", DirIn}), Kind: ArrayRandLen}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "vlen", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "vec", ByteSize: 0}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "off", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Kind: IntFileoff}}, NR: 296},
- &Call{Name: "read", CallName: "read", Native: true, Ret: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "ret", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "buf", ByteSize: 0}, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "buf", ByteSize: 0}}, NR: 0},
+ &Call{Name: "read", CallName: "read", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "buf", ByteSize: 0}}, NR: 0},
&Call{Name: "read$eventfd", CallName: "read", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_event", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_event")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 0},
&Call{Name: "readahead", CallName: "readahead", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "off", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "count", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}}, NR: 187},
&Call{Name: "readlink", CallName: "readlink", Native: true, Args: []Type{&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", FldName: "", ArgDir: DirIn, IsOptional: false}, Kind: BufferFilename}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirOut, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "siz", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "buf", ByteSize: 0}}, NR: 89},
@@ -22867,7 +22870,7 @@ var Calls = []*Call{
&Call{Name: "vmsplice", CallName: "vmsplice", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", ArgDir: DirIn, IsOptional: false}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"iovec_in", "", DirIn}), Kind: ArrayRandLen}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "vlen", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "vec", ByteSize: 0}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "f", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2, 4, 8}}}, NR: 278},
&Call{Name: "wait4", CallName: "wait4", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "pid", ArgDir: DirIn, IsOptional: false}, Desc: resource("pid")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "status", ArgDir: DirIn, IsOptional: true}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "", ArgDir: DirOut, IsOptional: false}, TypeSize: 4, BigEndian: false, BitfieldLen: 0}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "options", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2, 8, 4, 2, 8, 1, 16777216, 2147483648, 1073741824, 536870912}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ru", ArgDir: DirIn, IsOptional: true}, Type: getStruct(structKey{"rusage", "", DirOut})}}, NR: 61},
&Call{Name: "waitid", CallName: "waitid", Native: true, Args: []Type{&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "which", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2, 0}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "pid", ArgDir: DirIn, IsOptional: false}, Desc: resource("pid")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "infop", ArgDir: DirIn, IsOptional: true}, Type: getStruct(structKey{"siginfo", "", DirOut})}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flags", FldName: "options", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Vals: []uintptr{1, 2, 8, 4, 2, 8, 1, 16777216, 2147483648, 1073741824, 536870912}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ru", ArgDir: DirIn, IsOptional: true}, Type: getStruct(structKey{"rusage", "", DirOut})}}, NR: 247},
- &Call{Name: "write", CallName: "write", Native: true, Ret: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "ret", ArgDir: DirOut, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "buf", ByteSize: 0}, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "buf", ByteSize: 0}}, NR: 1},
+ &Call{Name: "write", CallName: "write", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd")}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", ArgDir: DirIn, IsOptional: false}, Kind: BufferBlobRand}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "buf", ByteSize: 0}}, NR: 1},
&Call{Name: "write$evdev", CallName: "write", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_evdev", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_evdev")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", ArgDir: DirIn, IsOptional: false}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"input_event", "", DirIn}), Kind: ArrayRandLen}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "data", ByteSize: 1}}, NR: 1},
&Call{Name: "write$eventfd", CallName: "write", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_event", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_event")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", ArgDir: DirIn, IsOptional: false}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "val", ByteSize: 0}}, NR: 1},
&Call{Name: "write$fuse_bmap", CallName: "write", Native: true, Args: []Type{&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_fuse", FldName: "fd", ArgDir: DirIn, IsOptional: false}, Desc: resource("fd_fuse")}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", ArgDir: DirIn, IsOptional: false}, Type: getStruct(structKey{"fuse_bmap_out", "", DirIn})}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", ArgDir: DirIn, IsOptional: false}, TypeSize: 8, BigEndian: false, BitfieldLen: 0}, Buf: "arg", ByteSize: 0}}, NR: 1},