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 操作将是相对于 此处指定的偏移量和大小 Rights: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变体类型说明
response SharedVmoIo_Exchange_Response
err zx/Status

SharedVmoIo_Receive_Result 严格

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定义

Ordinal变体类型说明
response SharedVmoIo_Receive_Response
err zx/Status

SharedVmoIo_Transmit_Result 严格

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定义

Ordinal变体类型说明
response SharedVmoIo_Transmit_Response
err zx/Status

SharedVmoRegister_RegisterVmo_Result 严格

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定义

Ordinal变体类型说明
response SharedVmoRegister_RegisterVmo_Response
err zx/Status

SharedVmoRegister_UnregisterVmo_Result 严格的 资源

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定义

Ordinal变体类型说明
response SharedVmoRegister_UnregisterVmo_Response
err zx/Status

SharedVmoRight 柔性

类型:uint32

fuchsia.hardware.sharedmemory/sharedmemory.fidl 中定义

名称说明
1

协议实现可以从此 VMO(用于传输请求)中读取数据。

2

协议实现可以写入此 VMO(用于接收请求)。