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 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
SharedVmoIo_Exchange_Response
|
|
2 |
err |
zx/Status
|
SharedVmoIo_Receive_Result 嚴格
在 fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
SharedVmoIo_Receive_Response
|
|
2 |
err |
zx/Status
|
SharedVmoIo_Transmit_Result 嚴格
在 fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
SharedVmoIo_Transmit_Response
|
|
2 |
err |
zx/Status
|
SharedVmoRegister_RegisterVmo_Result 嚴格
在 fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
SharedVmoRegister_RegisterVmo_Response
|
|
2 |
err |
zx/Status
|
SharedVmoRegister_UnregisterVmo_Result 嚴格 資源
在 fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
SharedVmoRegister_UnregisterVmo_Response
|
|
2 |
err |
zx/Status
|
商業智慧
SharedVmoRight 彈性
類型:uint32
在 fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定義的
名稱 | 值 | 說明 |
---|---|---|
閱讀 |
1 | 通訊協定實作項目可以從這個 VMO 讀取 (用於傳送要求)。 |
寫入 |
2 | 通訊協定實作項目可寫入這個 VMO (用於接收要求)。 |