github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/fuchsia/stream.txt (about)

     1  # Copyright 2020 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://cs.opensource.google/fuchsia/fuchsia/+/main:zircon/vdso/stream.fidl
     5  
     6  include <zircon/syscalls.h>
     7  
     8  resource zx_stream[zx_handle]
     9  resource zx_offset[intptr]
    10  
    11  zx_stream_create(options flags[stream_create_options], vmo zx_vmo, seek zx_offset, out_stream ptr[out, zx_stream])
    12  
    13  zx_stream_writev(handle zx_stream, options flags[stream_writev_options], vector ptr[in, array[zx_iovec]], num_vector len[vector], actual ptr[out, intptr])
    14  
    15  zx_stream_writev_at(handle zx_stream, options flags[stream_writev_options], offset zx_offset, vector ptr[in, array[zx_iovec]], num_vector len[vector], actual ptr[out, intptr])
    16  
    17  zx_stream_readv(handle zx_stream, options flags[stream_readv_options], vector ptr[out, array[zx_iovec]], num_vector len[vector], actual ptr[out, intptr])
    18  
    19  zx_stream_readv_at(handle zx_stream, options flags[stream_readv_options], offset zx_offset, vector ptr[out, array[zx_iovec]], num_vector len[vector], actual ptr[out, intptr])
    20  
    21  zx_stream_seek(handle zx_handle, whence flags[stream_seek_origin], offset int64, out_seek ptr[out, zx_offset])
    22  
    23  zx_iovec {
    24  	buffer		ptr[inout, array[int8]]
    25  	capacity	len[buffer, intptr]
    26  }
    27  
    28  stream_create_options = ZX_STREAM_MODE_READ, ZX_STREAM_MODE_WRITE, ZX_STREAM_MODE_APPEND
    29  stream_writev_options = 0, ZX_STREAM_APPEND
    30  stream_readv_options = 0
    31  stream_seek_origin = ZX_STREAM_SEEK_ORIGIN_START, ZX_STREAM_SEEK_ORIGIN_CURRENT, ZX_STREAM_SEEK_ORIGIN_END