1# Copyright 2018 syzkaller project authors. All rights reserved. 2# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. 3 4# See https://fuchsia.googlesource.com/zircon/+/master/docs/fidl/wire-format/index.md 5 6include <zircon/fidl.h> 7 8type fidl_call_args[REQ_MESSAGE, REQ_HANDLES, RESP_HANDLES] { 9 wr_bytes ptr[in, REQ_MESSAGE] 10 wr_handles ptr[in, REQ_HANDLES] 11 rd_bytes ptr[out, array[int8]] 12 rd_handles ptr[out, RESP_HANDLES] 13 wr_num_bytes bytesize[wr_bytes, int32] 14 wr_num_handles bytesize4[wr_handles, int32] 15 rd_num_bytes bytesize[rd_bytes, int32] 16 rd_num_handles bytesize4[rd_handles, int32] 17} 18 19type fidl_message_header[METHOD_ORDINAL] { 20 txid const[0, int32] 21 reserved const[0, int32] 22 flags const[0, int32] 23 ordinal const[METHOD_ORDINAL, int32] 24} 25 26fidl_string { 27 size int64 28 data flags[fidl_alloc_presence, int64] 29} 30 31fidl_vector { 32 size int64 33 data flags[fidl_alloc_presence, int64] 34} 35 36type fidl_aligned[T] { 37 var T 38} [align_8] 39 40type parallel_array[A, B] { 41 a array[A] 42 b array[B] 43} [packed] 44 45fidl_alloc_presence = FIDL_ALLOC_ABSENT, FIDL_ALLOC_PRESENT, FIDL_ALLOC_PRESENT, FIDL_ALLOC_PRESENT, FIDL_ALLOC_PRESENT, FIDL_ALLOC_PRESENT 46fidl_handle_presence = FIDL_HANDLE_ABSENT, FIDL_HANDLE_PRESENT, FIDL_HANDLE_PRESENT, FIDL_HANDLE_PRESENT, FIDL_HANDLE_PRESENT, FIDL_HANDLE_PRESENT 47