github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/fuchsia/port.txt (about) 1 # Copyright 2022 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 include <zircon/syscalls.h> 5 include <zircon/syscalls/port.h> 6 7 resource zx_port[zx_handle] 8 9 port_create_options = ZX_PORT_BIND_TO_INTERRUPT, 0 10 11 zx_port_create(options flags[port_create_options], out ptr[out, zx_port]) 12 zx_port_cancel(port zx_port, source zx_handle, key proc[1000, 16]) 13 zx_port_queue(handle zx_port, packet ptr[in, zx_port_packet_user]) 14 zx_port_wait(handle zx_port, deadline zx_time, packet ptr[out, zx_port_packet]) 15 16 zx_packet_user [ 17 u64 array[int64, 4] 18 u32 array[int32, 8] 19 u16 array[int16, 16] 20 c8 array[int8, 32] 21 ] 22 23 zx_packet_signal { 24 trigger int32 25 observed int32 26 count int64 27 timestamp int64 28 reserved1 int64 29 } 30 31 zx_packet_interrupt { 32 timestamp int64 33 reserved0 int64 34 reserved1 int64 35 reserved2 int64 36 } 37 38 zx_packet_page_request { 39 command int16 40 flags int16 41 reserved0 int16 42 offset int64 43 length int64 44 reserved1 int64 45 } 46 47 zx_port_packet_payload [ 48 user zx_packet_user 49 signal zx_packet_signal 50 interrupt zx_packet_interrupt 51 page_request zx_packet_page_request 52 ] 53 54 zx_port_packet { 55 key int64 56 type int32 57 status int32 58 payload zx_port_packet_payload 59 } 60 61 zx_port_packet_user { 62 key proc[1000, 16, int64] 63 type const[ZX_PKT_TYPE_USER, int32] 64 status const[0, int32] 65 payload zx_packet_user 66 }