syzkaller/sys/fuchsia/fidl.txt
Dokyung Song 11c256cdcd sys/fuchsia: prune unused structs in syscall description generated by fidlgen
After generating syscall description for fidl files using fidlgen, prune
all unused structs using the exact same mechanism used by the compiler's
check for unused structs. This allows the FIDL compiler to support
modular compilation; it does not need to have global knowledge of
whether each struct is used or not.
2018-09-11 13:01:53 +02:00

52 lines
1.4 KiB
Plaintext

# Copyright 2018 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
# See https://fuchsia.googlesource.com/zircon/+/master/docs/fidl/wire-format/index.md
include <zircon/fidl.h>
type fidl_call_args[REQ_MESSAGE, REQ_HANDLES, RESP_MESSAGE, RESP_HANDLES] {
wr_bytes ptr[in, REQ_MESSAGE]
wr_handles ptr[in, REQ_HANDLES]
rd_bytes ptr[out, RESP_MESSAGE]
rd_handles ptr[out, RESP_HANDLES]
wr_num_bytes bytesize[wr_bytes, int32]
wr_num_handles bytesize4[wr_handles, int32]
rd_num_bytes bytesize[rd_bytes, int32]
rd_num_handles bytesize4[rd_handles, int32]
}
type fidl_union_member[TAG, TYPE] {
tag const[TAG, int32]
data TYPE
}
type fidl_message_header[METHOD_ORDINAL] {
txid const[0, int32]
reserved const[0, int32]
flags const[0, int32]
ordinal const[METHOD_ORDINAL, int32]
}
fidl_string {
size int64
data flags[fidl_alloc_presence, int64]
}
fidl_vector {
size int64
data flags[fidl_alloc_presence, int64]
}
type fidl_aligned[T] {
var T
} [align_8]
type parallel_array[A, B] {
a array[A]
b array[B]
} [packed]
fidl_alloc_presence = FIDL_ALLOC_ABSENT, FIDL_ALLOC_PRESENT, FIDL_ALLOC_PRESENT, FIDL_ALLOC_PRESENT, FIDL_ALLOC_PRESENT, FIDL_ALLOC_PRESENT
fidl_handle_presence = FIDL_HANDLE_ABSENT, FIDL_HANDLE_PRESENT, FIDL_HANDLE_PRESENT, FIDL_HANDLE_PRESENT, FIDL_HANDLE_PRESENT, FIDL_HANDLE_PRESENT