fuchsia.hardware.sharedmemory

新增時間:HEAD

PROTOCOLS

SharedVmoIo

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的

這是使用共用 VMO 的驅動程式庫 IO 通用通訊協定。驅動程式可能會產生這項通訊協定 並根據硬體用途選擇要實作的方法這個通訊協定只會 適合簡單的用途

Exchange

同時傳輸及接收資料。tx_buffer 和 rx_buffer 的大小欄位必須 而不是

要求

名稱類型
tx_buffer SharedVmoBuffer
rx_buffer SharedVmoBuffer

回應

名稱類型
payload SharedVmoIo_Exchange_Result

接收

將資料從裝置接收到緩衝區。

要求

名稱類型
buffer SharedVmoBuffer

回應

名稱類型
payload SharedVmoIo_Receive_Result

傳輸

將緩衝區中的資料傳送到裝置。

要求

名稱類型
buffer SharedVmoBuffer

回應

名稱類型
payload SharedVmoIo_Transmit_Result

SharedVmoRegister

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的

這項通用的通訊協定可用於共用驅動程式可能撰寫的 VMO。

RegisterVmo

註冊 VMO,並將擁有權轉移給驅動程式庫。 vmo_id:用戶端選擇的 ID,會在此 VMO 的作業中使用。 vmo:這個 VMO 的控制代碼、偏移值和大小。這個 VMO 的 IO 作業將與 這裡指定的位移和大小 權限:這是 SharedVmoRight 值的位元欄位,指出這個 VMO 的使用方式。呼叫者 應假設驅動程式庫會使用這些權利來對應和/或固定 VMO。

要求

名稱類型
vmo_id uint32
vmo fuchsia.mem/Range
rights SharedVmoRight

回應

名稱類型
payload SharedVmoRegister_RegisterVmo_Result

UnregisterVmo

取消對應和/或取消固定 VMO,並將控制代碼傳回呼叫端。

要求

名稱類型
vmo_id uint32

回應

名稱類型
payload SharedVmoRegister_UnregisterVmo_Result

結構

SharedVmoBuffer

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的

欄位類型說明預設
vmo_id uint32 無預設
offset uint64 無預設
size uint64 無預設

SharedVmoIo_Exchange_Response

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的

<空白>

SharedVmoIo_Receive_Response

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的

<空白>

SharedVmoIo_Transmit_Response

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的

<空白>

SharedVmoRegister_RegisterVmo_Response

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的

<空白>

SharedVmoRegister_UnregisterVmo_Response 資源

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的

欄位類型說明預設
vmo handle<vmo> 無預設

聯合國

SharedVmoIo_Exchange_Result 嚴格

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的

OrdinalVariant類型說明
response SharedVmoIo_Exchange_Response
err zx/Status

SharedVmoIo_Receive_Result 嚴格

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的

OrdinalVariant類型說明
response SharedVmoIo_Receive_Response
err zx/Status

SharedVmoIo_Transmit_Result 嚴格

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的

OrdinalVariant類型說明
response SharedVmoIo_Transmit_Response
err zx/Status

SharedVmoRegister_RegisterVmo_Result 嚴格

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的

OrdinalVariant類型說明
response SharedVmoRegister_RegisterVmo_Response
err zx/Status

SharedVmoRegister_UnregisterVmo_Result 嚴格 資源

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的

OrdinalVariant類型說明
response SharedVmoRegister_UnregisterVmo_Response
err zx/Status

商業智慧

SharedVmoRight 彈性

類型:uint32

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的

名稱說明
1

通訊協定實作項目可以從這個 VMO 讀取 (用於傳送要求)。

2

通訊協定實作項目可寫入這個 VMO (用於接收要求)。