帳號代碼
- handle_check_valid - 檢查控制代碼是否有效。
- handle_close - 關閉控制代碼。
- handle_close_many - 關閉多個控制代碼。
- handle_duplicate - 複製帳號代碼。
- handle_replace - 取代帳號代碼。
物件
- object_get_child:提供含有子物件的核心物件,並取得指定核心物件的控制代碼。
- object_get_info - 查詢物件的相關資訊。
- object_get_property - 要求各種核心物件的各種屬性。
- object_set_profile - 將排程設定檔套用至執行緒。
- object_set_property - 設定各種核心物件的各種屬性。
- object_signal - 發出物件信號。
- object_signal_peer - 傳送物件的對等互連信號。
- object_wait_async - 訂閱物件的信號。
- object_wait_many - 等待多個物件的信號。
- object_wait_one - 等待物件上的信號。
執行緒
- thread_create - 建立執行緒。
- thread_exit - 終止目前執行的執行緒。
- thread_legacy_yield - 將目前執行緒的 CPU 讓回排程器。
- thread_raise_exception - 引發使用者產生的例外狀況。
- thread_read_state - 讀取執行緒狀態的其中一個層面。
- thread_start - 在執行緒上啟動執行作業。
- thread_write_state - 寫入執行緒狀態的其中一個層面。
執行緒取樣
- sampler_attach - 設定執行緒,定期取樣堆疊並寫入
- sampler_create - 建立取樣器工作階段,傳回 IOBuffer,其中包含為每個緩衝區分配的緩衝區
- sampler_start - 開始取樣至提供的 IOBuffer。
- sampler_stop - 停止將樣本寫入提供的 IOBuffer。
IO 緩衝區
- iob_allocate_id - Allocates an ID out of an IOBuffer region of discipline
- iob_create - 使用一組選項建立 IOBuffer。
- iob_create_shared_region - 建立可與多個 IOBuffer 物件搭配使用的共用區域。
- iob_writev - 對 IOBuffer 區域執行中介寫入作業。
處理程序
- process_create - 建立新程序。
- process_create_shared - 建立可與其他程序共用部分位址空間的新程序。
- process_exit - 結束目前執行的程序。
- process_read_memory - 從指定程序的位址空間讀取資料。
- process_start - 開始執行程序。
- process_write_memory - 將內容寫入指定程序的位址空間。
工作機會
- job_create - 建立新工作。
- job_set_critical - 將程序設為工作的重要程序。
- job_set_policy - 設定工作安全性和資源政策。
工作 (執行緒、程序或作業)
- task_create_exception_channel - 為指定工作、程序或執行緒建立例外狀況管道。
- task_kill - 終止提供的工作或程序。
- task_suspend - 暫停指定工作。目前只能暫停執行緒或程序控制代碼。
- task_suspend_token - 暫停指定工作。目前只能暫停執行緒或程序控制代碼。
設定檔
- profile_create - 建立排程器設定檔。
例外狀況
- exception_get_process - 為例外狀況的程序建立控制代碼。
- exception_get_thread - 為例外狀況的執行緒建立控制代碼。
頻道
- channel_call - 將訊息傳送至管道並等待回覆。
- channel_call_etc - Send a message to a 管道 and await a reply.
- channel_create - 建立管道。
- channel_read - 讀取管道訊息。
- channel_read_etc - 讀取管道訊息。
- channel_write - 撰寫訊息並傳送至管道。
- channel_write_etc - 撰寫訊息給管道。
插座
- socket_create - 建立通訊端。
- socket_read - 從通訊端讀取資料。
- socket_set_disposition - 設定寫入的配置。
- socket_write - 將資料寫入通訊端。
訊息串
- stream_create - 從 VMO 建立串流。
- stream_readv - 從目前搜尋偏移的串流讀取資料。
- stream_readv_at - 從指定偏移處讀取串流中的資料。
- stream_seek - 修改搜尋偏移。
- stream_writev - 將資料寫入目前搜尋偏移的串流。
- stream_writev_at - 將資料寫入指定位移的串流。
先進先出
- fifo_create - 建立 FIFO。
- fifo_read - 從 FIFO 讀取資料。
- fifo_write - 將資料寫入 FIFO。
事件、事件配對和計數器
- counter_add - 將值新增至計數器。
- counter_create - 建立計數器。
- counter_read - 讀取計數器的值。
- counter_write - 將值寫入計數器。
- event_create - 建立事件。
- eventpair_create - 建立事件配對。
- system_get_event - 擷取系統事件的控制代碼。
連接埠
- port_cancel - Cancels async port notifications on an object.
- port_cancel_key - Cancels all async port notifications matching a key.
- port_create - 建立 IO 連接埠。
- port_queue - 將封包排入通訊埠佇列。
- port_wait - Wait for a packet arrival in a port.
Futex
- futex_get_owner - 擷取 futex 的目前擁有者 (如有)。
- futex_requeue - Wake some number of threads waiting on a futex, and move more waiters to another wait queue.
- futex_requeue_single_owner - Wake one 執行緒 waiting on a futex, and requeue more waiters to another futex wait queue.
- futex_wait - Wait on a futex.
- futex_wake - 喚醒等待 futex 的若干執行緒,並將 futex 的擁有權設為無。
- futex_wake_handle_close_thread_exit - Write to futex, wake futex, close handle, exit.
- futex_wake_single_owner - 喚醒等待 futex 的一個執行緒,並將 futex 的擁有權設為該執行緒。
虛擬記憶體物件 (VMO)
- vmo_create - 建立 VM 物件。
- vmo_create_child -
- vmo_create_contiguous -
- vmo_create_physical -
- vmo_get_size -
- vmo_get_stream_size -
- vmo_op_range -
- vmo_read - 從 VMO 讀取的位元組。
- vmo_replace_as_executable -
- vmo_set_cache_policy -
- vmo_set_size -
- vmo_set_stream_size -
- vmo_transfer_data -
- vmo_write - 將位元組寫入 VMO。
虛擬記憶體位址區域 (VMAR)
- vmar_allocate - 分配新的子區域。
- vmar_destroy - Destroy a virtual memory address region.
- vmar_map - 新增記憶體對應。
- vmar_map_clock - 對應核心時鐘物件的狀態。
- vmar_map_iob - 將附加至 IOBuffer 的記憶體區域對應至記憶體。這場通話有
- vmar_op_range - 對應至這個 VMAR 的 VMO 執行作業。
- vmar_protect - 設定虛擬記憶體頁面的保護措施。
- vmar_unmap - 取消對應虛擬記憶體頁面。
使用者空間呼叫器
- pager_create:建立新的翻頁物件。
- pager_create_vmo - Create a pager owned VMO.
- pager_detach_vmo - 從呼叫器卸離 VMO。
- pager_op_range - 對 VMO 擁有的分頁範圍執行作業。
- pager_query_dirty_ranges - Query contiguous ranges of dirty pages in a pager owned VMO.
- pager_query_vmo_stats -
- pager_supply_pages - Supply pages into a pager owned VMO.
經過加密編譯且安全無虞的 RNG
- cprng_add_entropy - 將熵新增至核心 CPRNG。
- cprng_draw - 從核心的 CPRNG 繪製。
時間
- clock_create - 建立新的時鐘物件。
- clock_get_boot - 取得目前的開機時間。
- clock_get_details - 擷取時鐘目前狀態的所有低階詳細資料。
- clock_get_details_mapped - 擷取對應時鐘目前狀態的所有低層級詳細資料。行為與下列項目完全相同:
- clock_get_monotonic - 取得目前的單調時間。
- clock_read - 執行時鐘的基本讀取作業。
- clock_read_mapped - 執行對應時鐘狀態的基本讀取作業。行為與呼叫
- clock_update - 調整時鐘物件。
- deadline_after - 將相對於現在的時間轉換為絕對期限。
- nanosleep - 高解析度睡眠。
- ticks_get - 讀取開機後的高精確度計時器刻度數,不包括
- ticks_get_boot - 讀取自開機以來的高精度計時器刻度數,包括在
- ticks_per_second - 讀取每秒的高精度計時器刻度數。
計時器
- timer_cancel - 取消計時器。
- timer_create - 建立計時器。
- timer_set - 啟動計時器。
訊息信號中斷 (MSI)
- msi_allocate - 分配訊息信號中斷 (MSI)。
- msi_create - 從訊息信號中斷 (MSI) 分配建立中斷物件。
管理程序訪客
- guest_create - 建立訪客。
- guest_set_trap - 在訪客中設定陷阱。
虛擬 CPU
- vcpu_create - 建立 VCPU。
- vcpu_enter - 輸入 VCPU,導致執行作業繼續執行。
- vcpu_interrupt - 在 VCPU 上引發中斷。
- vcpu_kick - 啟動 VCPU,導致其停止執行。
- vcpu_read_state - 讀取 VCPU 的狀態。
- vcpu_write_state - 寫入 VCPU 的狀態。
全球系統資訊
- system_get_dcache_line_size - TODO(https://fxbug.dev/42108078)
- system_get_features - 取得支援的硬體功能。
- system_get_num_cpus - 取得系統上的邏輯處理器數量。
- system_get_page_size - 取得系統的頁面大小。
- system_get_physmem - 取得系統上的實體記憶體量。
- system_get_version_string - Get version string for system.
偵錯記錄
- debug_read - 從偵錯序列埠讀取訊息。
- debug_send_command - TODO(https://fxbug.dev/42108078)
- debug_write - 將訊息寫入偵錯序列埠。
- debuglog_create - 建立物件,允許存取核心 debuglog。
- debuglog_read - 從核心 debuglog 讀取單一記錄。
- debuglog_write - 將訊息寫入核心 debuglog。
多功能
- vmar_unmap_handle_close_thread_exit - Unmap memory, close handle, exit.
系統
- system_get_performance_info - 取得 CPU 效能參數。
- system_mexec - 使用新的核心和開機映像檔軟性重新啟動系統。
- system_mexec_payload_get - 傳回包含啟動此系統所需 ZBI 項目 ZBI。
- system_powerctl - TODO(https://fxbug.dev/42108078)
- system_set_performance_info - 設定 CPU 效能參數。
- system_set_processor_power_domain - 通知核心指定電源內的處理器電源等級
- system_set_processor_power_state - 更新核心觀察到的目前處理器電源等級狀態。
- system_suspend_enter -
- system_watch_memory_stall - 擷取記憶體停滯層級達到指定值時發出信號的事件
駕駛座
- bti_create - 建立新的匯流排交易啟動器。
- bti_pin - 釘選頁面並授予裝置存取權。
- bti_release_quarantine - Release all quarantined PMTs.
- cache_flush - 清除 CPU 資料和/或指令快取。
- interrupt_ack - 確認中斷並重新啟動。
- interrupt_bind - 將中斷物件繫結至通訊埠。
- interrupt_create - 建立中斷物件。
- interrupt_destroy - 終止中斷物件。
- interrupt_trigger - 觸發虛擬中斷物件。
- interrupt_wait - Wait for an interrupt.
- iommu_create - 在核心中建立新的 IOMMU 物件。
- pmt_unpin - 取消固定頁面,並撤銷裝置對頁面的存取權。
- resource_create - 建立資源物件。
- smc_call - 從使用者空間發出安全監控呼叫 (SMC)。
追蹤
- ktrace_control - TODO(https://fxbug.dev/42108078)
- ktrace_read - TODO(https://fxbug.dev/42108078)
- mtrace_control - TODO(https://fxbug.dev/42108078)
嚴格篩選模式 (開發中)
- restricted_bind_state - 建立受限狀態 VMO,並繫結至目前執行緒。
- restricted_enter - 進入嚴格篩選模式
- restricted_kick - 將執行緒移出嚴格篩選模式。
- restricted_unbind_state - 從目前執行緒取消繫結受限狀態 VMO。
其他/處理中
- ioports_release - TODO(https://fxbug.dev/42108078)
- ioports_request - TODO(https://fxbug.dev/42108078)
- pci_add_subtract_io_range - 這個函式已過時,不應使用。
- pci_cfg_pio_rw - 這個函式已過時,不應使用。
- pci_config_read - 這個函式已過時,不應使用。
- pci_config_write - 這個函式已過時,不應使用。
- pci_enable_bus_master - 這項函式已過時,不應使用。
- pci_get_bar - 這個函式已過時,不應使用。
- pci_get_nth_device - 這項函式已過時,不應使用。
- pci_init - 此函式已過時,不應使用。
- pci_map_interrupt - 這個函式已過時,不應使用。
- pci_query_irq_mode - 這項函式已過時,不應使用。
- pci_reset_device - 這個函式已過時,不應使用。
- pci_set_irq_mode - 這項函式已過時,不應使用。