diff options
Diffstat (limited to 'sys/fuchsia')
| -rw-r--r-- | sys/fuchsia/channel.txt | 54 | ||||
| -rw-r--r-- | sys/fuchsia/channel_amd64.const (renamed from sys/fuchsia/channels_amd64.const) | 1 | ||||
| -rw-r--r-- | sys/fuchsia/channel_arm64.const (renamed from sys/fuchsia/channels_arm64.const) | 1 | ||||
| -rw-r--r-- | sys/fuchsia/channels.txt | 26 |
4 files changed, 56 insertions, 26 deletions
diff --git a/sys/fuchsia/channel.txt b/sys/fuchsia/channel.txt new file mode 100644 index 000000000..9b4663049 --- /dev/null +++ b/sys/fuchsia/channel.txt @@ -0,0 +1,54 @@ +# Copyright 2017 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://cs.opensource.google/fuchsia/fuchsia/+/main:zircon/vdso/channel.fidl + +include <zircon/syscalls.h> + +resource zx_chan[zx_handle] + +zx_channel_call(handle zx_chan, options const[0], deadline zx_time, args ptr[in, zx_channel_call_args], actual_bytes ptr[out, int32], actual_handles ptr[out, int32]) +zx_channel_create(options const[0], out0 ptr[out, zx_chan], out1 ptr[out, zx_chan]) +zx_channel_read(handle zx_chan, options flags[chan_read_options], bytes ptr[out, array[int8]], handles ptr[out, zx_handle], num_bytes len[bytes], num_handles len[handles], actual_bytes ptr[out, int32], actual_handles ptr[out, int32]) +zx_channel_write(handle zx_chan, options flags[chan_write_options], bytes ptr[in, array[int8]], num_bytes len[bytes], handles ptr[in, array[zx_handle]], num_handles len[handles]) +zx_channel_write$ZX_CHANNEL_IOVEC(handle zx_chan, options const[ZX_CHANNEL_WRITE_USE_IOVEC], bytes ptr[in, zx_channel_iovec], num_bytes len[bytes], handles ptr[in, array[zx_handle]], num_handles len[handles]) + +zx_channel_read_etc(handle zx_chan, options int32, bytes ptr[out, array[int8]], handles ptr[out, array[zx_handle_info]], num_bytes len[bytes], num_handles len[handles], actual_bytes ptr[out, int32], actual_handles ptr[out, int32]) +zx_channel_call_etc(handle zx_chan, options int32, deadline zx_time, args ptr[in, zx_channel_call_args], actual_bytes ptr[out, int32], actual_handles ptr[out, int32]) +zx_channel_write_etc(handle zx_chan, options int32, bytes ptr[in, array[int8]], num_bytes len[bytes], handles ptr[in, array[zx_handle_disposition]], num_handles len[handles]) +zx_channel_write_etc$ZX_CHANNEL_IOVEC(handle zx_chan, options const[ZX_CHANNEL_WRITE_USE_IOVEC], bytes ptr[in, array[int8]], num_bytes len[bytes], handles ptr[in, array[zx_handle_disposition]], num_handles len[handles]) + +zx_channel_call_args { + wr_bytes ptr[in, array[int8]] + wr_handles ptr[in, array[zx_handle]] + rd_bytes ptr[out, array[int8]] + rd_handles ptr[out, array[zx_handle]] + wr_num_bytes len[wr_bytes, int32] + wr_num_handles len[wr_handles, int32] + rd_num_bytes len[rd_bytes, int32] + rd_num_handles len[rd_handles, int32] +} + +zx_handle_info { + handle zx_handle + type int32 + rights int32 + unused int32 +} + +zx_channel_iovec { + buffer ptr[in, array[int8]] + capacity int32 + reserved int32 +} + +zx_handle_disposition { + operation int32 + handle zx_handle + type int32 + rights int32 + result int32 +} + +chan_read_options = ZX_CHANNEL_READ_MAY_DISCARD +chan_write_options = ZX_CHANNEL_WRITE_USE_IOVEC diff --git a/sys/fuchsia/channels_amd64.const b/sys/fuchsia/channel_amd64.const index 18356a182..b87076488 100644 --- a/sys/fuchsia/channels_amd64.const +++ b/sys/fuchsia/channel_amd64.const @@ -1,2 +1,3 @@ # AUTOGENERATED FILE ZX_CHANNEL_READ_MAY_DISCARD = 1 +ZX_CHANNEL_WRITE_USE_IOVEC = 2 diff --git a/sys/fuchsia/channels_arm64.const b/sys/fuchsia/channel_arm64.const index 18356a182..b87076488 100644 --- a/sys/fuchsia/channels_arm64.const +++ b/sys/fuchsia/channel_arm64.const @@ -1,2 +1,3 @@ # AUTOGENERATED FILE ZX_CHANNEL_READ_MAY_DISCARD = 1 +ZX_CHANNEL_WRITE_USE_IOVEC = 2 diff --git a/sys/fuchsia/channels.txt b/sys/fuchsia/channels.txt deleted file mode 100644 index 7d22cca59..000000000 --- a/sys/fuchsia/channels.txt +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright 2017 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. - -include <zircon/syscalls.h> - -resource zx_chan[zx_handle] - -zx_channel_call(handle zx_chan, options const[0], deadline zx_time, args ptr[in, zx_channel_call_args], actual_bytes ptr[out, int32], actual_handles ptr[out, int32]) -zx_channel_create(options const[0], out0 ptr[out, zx_chan], out1 ptr[out, zx_chan]) -zx_channel_read(handle zx_chan, options flags[chan_read_options], bytes ptr[out, array[int8]], handles ptr[out, zx_handle], num_bytes len[bytes], num_handles len[handles], actual_bytes ptr[out, int32], actual_handles ptr[out, int32]) -zx_channel_write(handle zx_chan, options const[0], bytes ptr[in, array[int8]], num_bytes len[bytes], handles ptr[in, array[zx_handle]], num_handles len[handles]) - -zx_channel_read_etc(handle zx_chan, options int32, bytes ptr[out, array[int8]], handles ptr[out, zx_handle], num_bytes len[bytes], num_handles len[handles], actual_bytes ptr[out, int32], actual_handles ptr[out, int32]) - -zx_channel_call_args { - wr_bytes ptr[in, array[int8]] - wr_handles ptr[in, array[zx_handle]] - rd_bytes ptr[out, array[int8]] - rd_handles ptr[out, array[zx_handle]] - wr_num_bytes len[wr_bytes, int32] - wr_num_handles len[wr_handles, int32] - rd_num_bytes len[rd_bytes, int32] - rd_num_handles len[rd_handles, int32] -} - -chan_read_options = ZX_CHANNEL_READ_MAY_DISCARD |
