# 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/object.fidl include include include include include resource koid[int64]: 0 zx_object_get_child(handle zx_handle, koid koid, rights flags[zx_rights], out ptr[out, zx_handle]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) zx_object_get_property$ZX_PROP_NAME(handle zx_handle, property const[ZX_PROP_NAME], value ptr[out, array[int8]], size len[value]) zx_object_get_property$ZX_PROP_REGISTER_FS(handle zx_thread, property const[ZX_PROP_REGISTER_FS], value ptr[out, intptr], size len[value]) zx_object_get_property$ZX_PROP_REGISTER_GS(handle zx_thread, property const[ZX_PROP_REGISTER_GS], value ptr[out, intptr], size len[value]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) # zx_exception not defined because never generated by a syscall zx_object_get_property$ZX_PROP_EXCEPTION_STATE(handle zx_handle, property const[ZX_PROP_EXCEPTION_STATE], value ptr[out, int32], size len[value]) zx_object_get_property$ZX_PROP_EXCEPTION_STRATEGY(handle zx_handle, property const[ZX_PROP_EXCEPTION_STRATEGY], value ptr[out, int32], size len[value]) zx_object_set_property$ZX_PROP_NAME(handle zx_handle, property const[ZX_PROP_NAME], value ptr[in, array[int8]], size len[value]) zx_object_set_property$ZX_PROP_REGISTER_FS(handle zx_thread, property const[ZX_PROP_REGISTER_FS], value ptr[in, intptr], size len[value]) zx_object_set_property$ZX_PROP_REGISTER_GS(handle zx_thread, property const[ZX_PROP_REGISTER_GS], value ptr[in, intptr], size len[value]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) # zx_exception not defined because never generated by a syscall zx_object_set_property$ZX_PROP_EXCEPTION_STATE(handle zx_handle, property const[ZX_PROP_EXCEPTION_STATE], value ptr[in, int32], size len[value]) zx_object_set_property$ZX_PROP_EXCEPTION_STRATEGY(handle zx_handle, property const[ZX_PROP_EXCEPTION_STRATEGY], value ptr[in, int32], size len[value]) zx_object_signal(handle zx_handle, clear_mask int32, set_mask int32) zx_object_signal_peer(handle zx_handle, clear_mask int32, set_mask int32) zx_object_wait_many(items ptr[in, array[zx_wait_item]], count len[items], deadline zx_time) zx_object_wait_one(handle zx_handle, signals int32, deadline zx_time, observed ptr[out, int32]) zx_object_wait_async(handle zx_handle, port zx_port, key proc[1000, 4], signals int32, options flags[wait_async_options]) zx_object_set_profile(handle zx_handle, profile zx_profile, options const[0]) wait_async_options = ZX_WAIT_ASYNC_ONCE, ZX_WAIT_ASYNC_EDGE zx_info_handle_basic { koid koid rights int32 type int32 related_koid koid props int32 } zx_info_handle_extended { type int32 handle zx_handle rights int32 reserved int32 koid koid related_koid koid peer_owner_koid koid } zx_info_handle_count { count int32 } zx_info_process_handle_stats { handle_count array[int32, ZX_OBJ_TYPE_UPPER_BOUND] } zx_info_job { return_code int64 exited int8 kill_on_oom int8 debugger_attached int8 } zx_info_process { return_code int64 started int8 exited int8 debugger_attached int8 } zx_info_thread { state int32 wait_exception_channel_type int32 } zx_exception_report { header zx_exception_header context zx_exception_context } zx_info_thread_stats { total_runtime int64 } zx_info_cpu_stats { cpu_number int32 flags int32 idle_time int64 reschedules int64 context_switches int64 irq_preempts int64 preempts int64 yields int64 ints int64 timer_ints int64 timers int64 page_faults int64 exceptions int64 syscalls int64 reschedule_ipis int64 generic_ipis int64 } zx_info_vmar { base intptr len intptr } zx_info_vmo { koid koid name array[int8, ZX_MAX_NAME_LEN] size_bytes int64 parent_koid koid num_children intptr num_mappings intptr share_count intptr flags int32 committed_bytes int64 handle_rights int32 create_options int32 cache_policy int32 } zx_info_socket { options int32 rx_buf_max intptr rx_buf_size intptr rx_buf_available intptr tx_buf_max intptr tx_buf_size intptr } zx_info_task_stats { mem_mapped_bytes intptr mem_private_bytes intptr mem_shared_bytes intptr mem_scaled_shared_bytes intptr } zx_info_maps { name array[int8, ZX_MAX_NAME_LEN] base intptr size intptr depth intptr type int32 mapping zx_info_maps_mapping } zx_info_maps_mapping { mmu_flags int32 vmo_koid koid committed_pages intptr } zx_info_kmem_stats { total_bytes int64 free_bytes int64 wired_bytes int64 total_heap_bytes int64 free_heap_bytes int64 vmo_bytes int64 mmu_overhead_bytes int64 ipc_bytes int64 other_bytes int64 } zx_info_kmem_stats_extended { total_bytes int64 free_bytes int64 wired_bytes int64 total_heap_bytes int64 free_heap_bytes int64 vmo_bytes int64 # extended part vmo_pager_total_bytes int64 vmo_pager_newest_bytes int64 vmo_pager_oldest_bytes int64 vmo_discardable_locked_bytes int64 vmo_discardable_unlocked_bytes int64 mmu_overhead_bytes int64 ipc_bytes int64 other_bytes int64 } zx_info_timer { options int32 deadline zx_time slack int64 } zx_info_resource { kind int32 flags int32 base int64 size intptr name array[int8, ZX_MAX_NAME_LEN] } zx_info_bti { minimum_contiguity int64 aspace_size int64 } zx_exception_header { size int32 type int32 } zx_exception_context [ x86_64 x86_64_exc_data arm_64 arm64_exc_data ] x86_64_exc_data { vector int64 err_code int64 cr2 int64 } arm64_exc_data { esr int32 far int64 } zx_wait_item { handle zx_handle waitfor int32 pending int32 }