mirror of
https://github.com/reactos/syzkaller.git
synced 2025-02-21 20:22:28 +00:00

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.
52 lines
1.4 KiB
Plaintext
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
|