github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/fuchsia/object.txt (about) 1 # Copyright 2017 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/object.fidl 5 6 include <zircon/syscalls.h> 7 include <zircon/syscalls/exception.h> 8 include <zircon/syscalls/object.h> 9 include <zircon/syscalls/port.h> 10 include <zircon/syscalls/profile.h> 11 12 resource koid[int64]: 0 13 14 zx_object_get_child(handle zx_handle, koid koid, rights flags[zx_rights], out ptr[out, zx_handle]) 15 16 zx_object_get_info$ZX_INFO_HANDLE_VALID(handle zx_handle, topic const[ZX_INFO_HANDLE_VALID], buffer const[0], buffer_size const[0], actual ptr[out, intptr], avail ptr[out, intptr]) 17 zx_object_get_info$ZX_INFO_HANDLE_BASIC(handle zx_handle, topic const[ZX_INFO_HANDLE_BASIC], buffer ptr[out, zx_info_handle_basic], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 18 zx_object_get_info$ZX_INFO_HANDLE_TABLE(handle zx_handle, topic const[ZX_INFO_HANDLE_TABLE], buffer ptr[out, zx_info_handle_extended], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 19 zx_object_get_info$ZX_INFO_HANDLE_COUNT(handle zx_handle, topic const[ZX_INFO_HANDLE_COUNT], buffer ptr[out, zx_info_handle_count], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 20 zx_object_get_info$ZX_INFO_PROCESS_HANDLE_STATS(handle zx_process, topic const[ZX_INFO_PROCESS_HANDLE_STATS], buffer ptr[out, zx_info_process_handle_stats], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 21 zx_object_get_info$ZX_INFO_JOB(handle zx_process, topic const[ZX_INFO_JOB], buffer ptr[out, zx_info_job], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 22 zx_object_get_info$ZX_INFO_PROCESS(handle zx_process, topic const[ZX_INFO_PROCESS], buffer ptr[out, zx_info_process], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 23 zx_object_get_info$ZX_INFO_PROCESS_THREADS(handle zx_process, topic const[ZX_INFO_PROCESS_THREADS], buffer ptr[out, array[koid]], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 24 zx_object_get_info$ZX_INFO_THREAD(handle zx_thread, topic const[ZX_INFO_THREAD], buffer ptr[out, zx_info_thread], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 25 zx_object_get_info$ZX_INFO_THREAD_EXCEPTION_REPORT(handle zx_thread, topic const[ZX_INFO_THREAD_EXCEPTION_REPORT], buffer ptr[out, zx_exception_report], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 26 zx_object_get_info$ZX_INFO_THREAD_STATS(handle zx_thread, topic const[ZX_INFO_THREAD_STATS], buffer ptr[out, zx_info_thread_stats], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 27 zx_object_get_info$ZX_INFO_CPU_STATS(root_resource zx_root_resource, topic const[ZX_INFO_CPU_STATS], buffer ptr[out, array[zx_info_cpu_stats]], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 28 zx_object_get_info$ZX_INFO_VMAR(handle zx_vmar, topic const[ZX_INFO_VMAR], buffer ptr[out, zx_info_vmar], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 29 zx_object_get_info$ZX_INFO_VMO(handle zx_vmar, topic const[ZX_INFO_VMO], buffer ptr[out, zx_info_vmo], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 30 zx_object_get_info$ZX_INFO_SOCKET(handle zx_socket, topic const[ZX_INFO_SOCKET], buffer ptr[out, zx_info_socket], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 31 zx_object_get_info$ZX_INFO_JOB_CHILDREN(handle zx_job, topic const[ZX_INFO_JOB_CHILDREN], buffer ptr[out, array[koid]], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 32 zx_object_get_info$ZX_INFO_JOB_PROCESSES(handle zx_job, topic const[ZX_INFO_JOB_PROCESSES], buffer ptr[out, array[koid]], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 33 zx_object_get_info$ZX_INFO_TASK_STATS(handle zx_process, topic const[ZX_INFO_TASK_STATS], buffer ptr[out, zx_info_task_stats], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 34 zx_object_get_info$ZX_INFO_PROCESS_MAPS(handle zx_process, topic const[ZX_INFO_PROCESS_MAPS], buffer ptr[out, array[zx_info_maps]], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 35 zx_object_get_info$ZX_INFO_PROCESS_VMOS(handle zx_process, topic const[ZX_INFO_PROCESS_VMOS], buffer ptr[out, array[zx_info_vmo]], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 36 zx_object_get_info$ZX_INFO_KMEM_STATS(root_resource zx_root_resource, topic const[ZX_INFO_KMEM_STATS], buffer ptr[out, zx_info_kmem_stats], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 37 zx_object_get_info$ZX_INFO_KMEM_STATS_EXTENDED(root_resource zx_root_resource, topic const[ZX_INFO_KMEM_STATS_EXTENDED], buffer ptr[out, zx_info_kmem_stats_extended], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 38 zx_object_get_info$ZX_INFO_TIMER(handle zx_timer, topic const[ZX_INFO_TIMER], buffer ptr[out, zx_info_timer], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 39 zx_object_get_info$ZX_INFO_GUEST_STATS(handle zx_handle, topic const[ZX_INFO_GUEST_STATS], buffer ptr[out, zx_info_handle_basic], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 40 zx_object_get_info$ZX_INFO_TASK_RUNTIME(handle zx_handle, topic const[ZX_INFO_TASK_RUNTIME], buffer ptr[out, zx_info_handle_basic], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 41 zx_object_get_info$ZX_INFO_RESOURCE(handle zx_resource, topic const[ZX_INFO_RESOURCE], buffer ptr[out, zx_info_resource], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 42 zx_object_get_info$ZX_INFO_BTI(handle zx_bti, topic const[ZX_INFO_BTI], buffer ptr[out, zx_info_bti], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr]) 43 44 zx_object_get_property$ZX_PROP_NAME(handle zx_handle, property const[ZX_PROP_NAME], value ptr[out, array[int8]], size len[value]) 45 zx_object_get_property$ZX_PROP_REGISTER_FS(handle zx_thread, property const[ZX_PROP_REGISTER_FS], value ptr[out, intptr], size len[value]) 46 zx_object_get_property$ZX_PROP_REGISTER_GS(handle zx_thread, property const[ZX_PROP_REGISTER_GS], value ptr[out, intptr], size len[value]) 47 zx_object_get_property$ZX_PROP_PROCESS_DEBUG_ADDR(handle zx_process, property const[ZX_PROP_PROCESS_DEBUG_ADDR], value ptr[out, intptr], size len[value]) 48 zx_object_get_property$ZX_PROP_PROCESS_BREAK_ON_LOAD(handle zx_process, property const[ZX_PROP_PROCESS_BREAK_ON_LOAD], value ptr[out, intptr], size len[value]) 49 zx_object_get_property$ZX_PROP_PROCESS_VDSO_BASE_ADDRESS(handle zx_process, property const[ZX_PROP_PROCESS_VDSO_BASE_ADDRESS], value ptr[out, intptr], size len[value]) 50 zx_object_get_property$ZX_PROP_PROCESS_HW_TRACE_CONTEXT_ID(handle zx_process, property const[ZX_PROP_PROCESS_HW_TRACE_CONTEXT_ID], value ptr[out, intptr], size len[value]) 51 zx_object_get_property$ZX_PROP_SOCKET_RX_THRESHOLD(handle zx_socket, property const[ZX_PROP_SOCKET_RX_THRESHOLD], value ptr[out, int64], size len[value]) 52 zx_object_get_property$ZX_PROP_SOCKET_TX_THRESHOLD(handle zx_socket, property const[ZX_PROP_SOCKET_TX_THRESHOLD], value ptr[out, int64], size len[value]) 53 zx_object_get_property$ZX_PROP_STREAM_MODE_APPEND(handle zx_stream, property const[ZX_PROP_STREAM_MODE_APPEND], value ptr[out, int8], size len[value]) 54 zx_object_get_property$ZX_PROP_VMO_CONTENT_SIZE(handle zx_vmo, property const[ZX_PROP_VMO_CONTENT_SIZE], value ptr[out, int64], size len[value]) 55 # zx_exception not defined because never generated by a syscall 56 zx_object_get_property$ZX_PROP_EXCEPTION_STATE(handle zx_handle, property const[ZX_PROP_EXCEPTION_STATE], value ptr[out, int32], size len[value]) 57 zx_object_get_property$ZX_PROP_EXCEPTION_STRATEGY(handle zx_handle, property const[ZX_PROP_EXCEPTION_STRATEGY], value ptr[out, int32], size len[value]) 58 59 zx_object_set_property$ZX_PROP_NAME(handle zx_handle, property const[ZX_PROP_NAME], value ptr[in, array[int8]], size len[value]) 60 zx_object_set_property$ZX_PROP_REGISTER_FS(handle zx_thread, property const[ZX_PROP_REGISTER_FS], value ptr[in, intptr], size len[value]) 61 zx_object_set_property$ZX_PROP_REGISTER_GS(handle zx_thread, property const[ZX_PROP_REGISTER_GS], value ptr[in, intptr], size len[value]) 62 zx_object_set_property$ZX_PROP_PROCESS_DEBUG_ADDR(handle zx_process, property const[ZX_PROP_PROCESS_DEBUG_ADDR], value ptr[in, intptr], size len[value]) 63 zx_object_set_property$ZX_PROP_PROCESS_BREAK_ON_LOAD(handle zx_process, property const[ZX_PROP_PROCESS_BREAK_ON_LOAD], value ptr[in, intptr], size len[value]) 64 zx_object_set_property$ZX_PROP_JOB_KILL_ON_OOM(handle zx_job, property const[ZX_PROP_JOB_KILL_ON_OOM], value ptr[in, int64], size len[value]) 65 zx_object_set_property$ZX_PROP_SOCKET_RX_THRESHOLD(handle zx_socket, property const[ZX_PROP_SOCKET_RX_THRESHOLD], value ptr[in, int64], size len[value]) 66 zx_object_set_property$ZX_PROP_SOCKET_TX_THRESHOLD(handle zx_socket, property const[ZX_PROP_SOCKET_TX_THRESHOLD], value ptr[in, int64], size len[value]) 67 zx_object_set_property$ZX_PROP_STREAM_MODE_APPEND(handle zx_stream, property const[ZX_PROP_STREAM_MODE_APPEND], value ptr[in, int8], size len[value]) 68 zx_object_set_property$ZX_PROP_VMO_CONTENT_SIZE(handle zx_vmo, property const[ZX_PROP_VMO_CONTENT_SIZE], value ptr[in, int64], size len[value]) 69 # zx_exception not defined because never generated by a syscall 70 zx_object_set_property$ZX_PROP_EXCEPTION_STATE(handle zx_handle, property const[ZX_PROP_EXCEPTION_STATE], value ptr[in, int32], size len[value]) 71 zx_object_set_property$ZX_PROP_EXCEPTION_STRATEGY(handle zx_handle, property const[ZX_PROP_EXCEPTION_STRATEGY], value ptr[in, int32], size len[value]) 72 73 zx_object_signal(handle zx_handle, clear_mask int32, set_mask int32) 74 zx_object_signal_peer(handle zx_handle, clear_mask int32, set_mask int32) 75 zx_object_wait_many(items ptr[in, array[zx_wait_item]], count len[items], deadline zx_time) 76 zx_object_wait_one(handle zx_handle, signals int32, deadline zx_time, observed ptr[out, int32]) 77 zx_object_wait_async(handle zx_handle, port zx_port, key proc[1000, 4], signals int32, options flags[wait_async_options]) 78 zx_object_set_profile(handle zx_handle, profile zx_profile, options const[0]) 79 80 wait_async_options = ZX_WAIT_ASYNC_ONCE, ZX_WAIT_ASYNC_EDGE 81 82 zx_info_handle_basic { 83 koid koid 84 rights int32 85 type int32 86 related_koid koid 87 props int32 88 } 89 90 zx_info_handle_extended { 91 type int32 92 handle zx_handle 93 rights int32 94 reserved int32 95 koid koid 96 related_koid koid 97 peer_owner_koid koid 98 } 99 100 zx_info_handle_count { 101 count int32 102 } 103 104 zx_info_process_handle_stats { 105 handle_count array[int32, ZX_OBJ_TYPE_UPPER_BOUND] 106 } 107 108 zx_info_job { 109 return_code int64 110 exited int8 111 kill_on_oom int8 112 debugger_attached int8 113 } 114 115 zx_info_process { 116 return_code int64 117 started int8 118 exited int8 119 debugger_attached int8 120 } 121 122 zx_info_thread { 123 state int32 124 wait_exception_channel_type int32 125 } 126 127 zx_exception_report { 128 header zx_exception_header 129 context zx_exception_context 130 } 131 132 zx_info_thread_stats { 133 total_runtime int64 134 } 135 136 zx_info_cpu_stats { 137 cpu_number int32 138 flags int32 139 idle_time int64 140 reschedules int64 141 context_switches int64 142 irq_preempts int64 143 preempts int64 144 yields int64 145 ints int64 146 timer_ints int64 147 timers int64 148 page_faults int64 149 exceptions int64 150 syscalls int64 151 reschedule_ipis int64 152 generic_ipis int64 153 } 154 155 zx_info_vmar { 156 base intptr 157 len intptr 158 } 159 160 zx_info_vmo { 161 koid koid 162 name array[int8, ZX_MAX_NAME_LEN] 163 size_bytes int64 164 parent_koid koid 165 num_children intptr 166 num_mappings intptr 167 share_count intptr 168 flags int32 169 committed_bytes int64 170 handle_rights int32 171 create_options int32 172 cache_policy int32 173 } 174 175 zx_info_socket { 176 options int32 177 rx_buf_max intptr 178 rx_buf_size intptr 179 rx_buf_available intptr 180 tx_buf_max intptr 181 tx_buf_size intptr 182 } 183 184 zx_info_task_stats { 185 mem_mapped_bytes intptr 186 mem_private_bytes intptr 187 mem_shared_bytes intptr 188 mem_scaled_shared_bytes intptr 189 } 190 191 zx_info_maps { 192 name array[int8, ZX_MAX_NAME_LEN] 193 base intptr 194 size intptr 195 depth intptr 196 type int32 197 mapping zx_info_maps_mapping 198 } 199 200 zx_info_maps_mapping { 201 mmu_flags int32 202 vmo_koid koid 203 committed_pages intptr 204 } 205 206 zx_info_kmem_stats { 207 total_bytes int64 208 free_bytes int64 209 wired_bytes int64 210 211 total_heap_bytes int64 212 free_heap_bytes int64 213 vmo_bytes int64 214 mmu_overhead_bytes int64 215 ipc_bytes int64 216 other_bytes int64 217 } 218 219 zx_info_kmem_stats_extended { 220 total_bytes int64 221 free_bytes int64 222 wired_bytes int64 223 total_heap_bytes int64 224 free_heap_bytes int64 225 vmo_bytes int64 226 # extended part 227 vmo_pager_total_bytes int64 228 vmo_pager_newest_bytes int64 229 vmo_pager_oldest_bytes int64 230 vmo_discardable_locked_bytes int64 231 vmo_discardable_unlocked_bytes int64 232 mmu_overhead_bytes int64 233 ipc_bytes int64 234 other_bytes int64 235 } 236 237 zx_info_timer { 238 options int32 239 deadline zx_time 240 slack int64 241 } 242 243 zx_info_resource { 244 kind int32 245 flags int32 246 base int64 247 size intptr 248 name array[int8, ZX_MAX_NAME_LEN] 249 } 250 251 zx_info_bti { 252 minimum_contiguity int64 253 aspace_size int64 254 } 255 256 zx_exception_header { 257 size int32 258 type int32 259 } 260 261 zx_exception_context [ 262 x86_64 x86_64_exc_data 263 arm_64 arm64_exc_data 264 ] 265 266 x86_64_exc_data { 267 vector int64 268 err_code int64 269 cr2 int64 270 } 271 272 arm64_exc_data { 273 esr int32 274 far int64 275 } 276 277 zx_wait_item { 278 handle zx_handle 279 waitfor int32 280 pending int32 281 }