syzkaller/sys/fuchsia/fidl_process.txt
Dokyung Song 99c7e4ecfa sys/fuchsia: describe method response types & handles; add support for union
* create a response handle structure for each FIDL method
* generate zx_channel_write for requests having no response
* generate zx_channel_read for events (no request but just response)
* translate FIDL union types to syzkaller union types
  (see fuchsia_io_ObjectInfoHandles)
2018-08-29 19:08:11 -07:00

139 lines
5.6 KiB
Plaintext

# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
#
# WARNING: This file is machine generated by fidlgen.
include <fuchsia/process/c/fidl.h>
fuchsia_process_LaunchInfoInLine {
executable flags[fidl_handle_presence, int32]
job flags[fidl_handle_presence, int32]
nameInLine fidl_string
} [packed]
fuchsia_process_LaunchInfoOutOfLine {
nameOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_process_LaunchInfoHandles {
executable zx_vmo
job zx_job
} [packed]
fuchsia_process_LaunchResultHandles {
process zx_process
} [packed]
fuchsia_process_ProcessStartDataHandles {
process zx_process
root_vmar zx_vmar
thread zx_thread
bootstrap zx_chan
} [packed]
fuchsia_process_CreateWithoutStartingResultHandles {
data fuchsia_process_ProcessStartDataHandles
} [packed]
fuchsia_process_NameInfoInLine {
pathInLine fidl_string
directory flags[fidl_handle_presence, int32]
} [packed]
fuchsia_process_NameInfoOutOfLine {
pathOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_process_NameInfoHandles {
directory zx_chan
} [packed]
fuchsia_process_HandleInfoInLine {
handle flags[fidl_handle_presence, int32]
id int32
} [packed]
fuchsia_process_HandleInfoHandles {
handle zx_handle
} [packed]
fuchsia_process_LauncherLaunchRequest {
hdr fidl_message_header[1]
infoInLine fuchsia_process_LaunchInfoInLine
infoOutOfLine fuchsia_process_LaunchInfoOutOfLine
} [packed]
fuchsia_process_LauncherLaunchRequestHandles {
info fuchsia_process_LaunchInfoHandles
} [packed]
fuchsia_process_LauncherLaunchResponseHandles {
result fuchsia_process_LaunchResultHandles
} [packed]
fuchsia_process_LauncherCreateWithoutStartingRequest {
hdr fidl_message_header[2]
infoInLine fuchsia_process_LaunchInfoInLine
infoOutOfLine fuchsia_process_LaunchInfoOutOfLine
} [packed]
fuchsia_process_LauncherCreateWithoutStartingRequestHandles {
info fuchsia_process_LaunchInfoHandles
} [packed]
fuchsia_process_LauncherCreateWithoutStartingResponseHandles {
result fuchsia_process_CreateWithoutStartingResultHandles
} [packed]
fuchsia_process_LauncherAddArgsRequest {
hdr fidl_message_header[10]
argsInLine fidl_vector
argsOutOfLine parallel_array[fidl_string, fidl_aligned[stringnoz]]
} [packed]
fuchsia_process_LauncherAddArgsRequestHandles {
void void
} [packed]
fuchsia_process_LauncherAddEnvironsRequest {
hdr fidl_message_header[11]
environInLine fidl_vector
environOutOfLine parallel_array[fidl_string, fidl_aligned[stringnoz]]
} [packed]
fuchsia_process_LauncherAddEnvironsRequestHandles {
void void
} [packed]
fuchsia_process_LauncherAddNamesRequest {
hdr fidl_message_header[12]
namesInLine fidl_vector
namesOutOfLine parallel_array[fuchsia_process_NameInfoInLine, fuchsia_process_NameInfoOutOfLine]
} [packed]
fuchsia_process_LauncherAddNamesRequestHandles {
names array[fuchsia_process_NameInfoHandles]
} [packed]
fuchsia_process_LauncherAddHandlesRequest {
hdr fidl_message_header[13]
handlesInLine fidl_vector
handlesOutOfLine array[fuchsia_process_HandleInfoInLine]
} [packed]
fuchsia_process_LauncherAddHandlesRequestHandles {
handles array[fuchsia_process_HandleInfoHandles]
} [packed]
resource zx_chan_fuchsia_process_Launcher_client[zx_chan]
resource zx_chan_fuchsia_process_Launcher_server[zx_chan]
zx_channel_create$fuchsia_process_Launcher(options const[0], out0 ptr[out, zx_chan_fuchsia_process_Launcher_client], out1 ptr[out, zx_chan_fuchsia_process_Launcher_server])
fdio_service_connect$fuchsia_process_Launcher(path ptr[in, string["/svc/fuchsia.process.Launcher"]], handle zx_chan_fuchsia_process_Launcher_server)
zx_channel_call$fuchsia_process_LauncherLaunch(handle zx_chan_fuchsia_process_Launcher_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_process_LauncherLaunchRequest, fuchsia_process_LauncherLaunchRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_process_LauncherLaunchResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_process_LauncherCreateWithoutStarting(handle zx_chan_fuchsia_process_Launcher_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_process_LauncherCreateWithoutStartingRequest, fuchsia_process_LauncherCreateWithoutStartingRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_process_LauncherCreateWithoutStartingResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_write$fuchsia_process_LauncherAddArgs(handle zx_chan_fuchsia_process_Launcher_client, options const[0], bytes ptr[in, fuchsia_process_LauncherAddArgsRequest], num_bytes bytesize[bytes], handles ptr[in, fuchsia_process_LauncherAddArgsRequestHandles], num_handles bytesize[handles])
zx_channel_write$fuchsia_process_LauncherAddEnvirons(handle zx_chan_fuchsia_process_Launcher_client, options const[0], bytes ptr[in, fuchsia_process_LauncherAddEnvironsRequest], num_bytes bytesize[bytes], handles ptr[in, fuchsia_process_LauncherAddEnvironsRequestHandles], num_handles bytesize[handles])
zx_channel_write$fuchsia_process_LauncherAddNames(handle zx_chan_fuchsia_process_Launcher_client, options const[0], bytes ptr[in, fuchsia_process_LauncherAddNamesRequest], num_bytes bytesize[bytes], handles ptr[in, fuchsia_process_LauncherAddNamesRequestHandles], num_handles bytesize[handles])
zx_channel_write$fuchsia_process_LauncherAddHandles(handle zx_chan_fuchsia_process_Launcher_client, options const[0], bytes ptr[in, fuchsia_process_LauncherAddHandlesRequest], num_bytes bytesize[bytes], handles ptr[in, fuchsia_process_LauncherAddHandlesRequestHandles], num_handles bytesize[handles])