通訊協定
連接線
定義於 fuchsia.device.fs/connector.fidl
連接器可讓用戶端將通訊協定的伺服器端轉送。
連線
轉送通訊協定的端點,以使其可以連線。
- 要求
server
為要提供的通訊協定端點。用於傳輸資料的 FIDL 通訊協定 這句話經斷章取義。
- 回應 此函式沒有回應。函式是單向比對管道的單向方法 其他虛擬檔案系統的行為
要求
名稱 | 類型 |
---|---|
server |
handle<channel>
|
控制器
在 fuchsia.device.fs/controller.fidl 中定義
在開發主機中操控裝置的介面
裝訂
嘗試將驅動程式庫繫結至這部裝置。
- 要求
driver
。這代表驅動程式庫程式網址的後置字串 (例如「fvm.cm」)。 如果這個值為其他值,表示只會嘗試進行繫結作業的驅動程式 與此網址尾碼相符的網址。
要求
名稱 | 類型 |
---|---|
driver |
string[1024]
|
回應
名稱 | 類型 |
---|---|
payload |
Controller_Bind_Result
|
ConnectToController
連線至相同的 Controller FIDL 通訊協定。
要求
名稱 | 類型 |
---|---|
server |
server_end<Controller>
|
ConnectToDeviceFidl
連線至基礎裝置的 FIDL 通訊協定。 這個連線不會透過 fuchsia.device.Controller 進行多工處理 或 fuchsia.io.Node。
要求
名稱 | 類型 |
---|---|
server |
handle<channel>
|
GetTopologicalPath
傳回這部裝置的拓撲路徑
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Controller_GetTopologicalPath_Result
|
重新繫結
將這部裝置的所有子項解除繫結,然後嘗試將驅動程式庫繫結至裝置。 直到繫結完成之後才會傳回。
- 要求
driver
。這代表驅動程式庫程式網址的後置字串 (例如「fvm.cm」)。 如果這個值為其他值,表示只會嘗試進行繫結作業的驅動程式 與此網址尾碼相符的網址。
要求
名稱 | 類型 |
---|---|
driver |
string[1024]
|
回應
名稱 | 類型 |
---|---|
payload |
Controller_Rebind_Result
|
ScheduleUnbind
中斷這部裝置的連線,並允許其家長再次繫結。 這項作業可能需要在退貨前完成。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Controller_ScheduleUnbind_Result
|
UnbindChildren
這個 API 將以同步的方式解除繫結這部裝置的所有子項。 這樣可避免客戶為了移除裝置而觀看影片。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Controller_UnbindChildren_Result
|
結構
Controller_Bind_Response
在 fuchsia.device.fs/controller.fidl 中定義
<空白>
Controller_GetTopologicalPath_Response
在 fuchsia.device.fs/controller.fidl 中定義
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
path |
string[1024]
|
無預設 |
Controller_Rebind_Response
在 fuchsia.device.fs/controller.fidl 中定義
<空白>
Controller_ScheduleUnbind_Response
在 fuchsia.device.fs/controller.fidl 中定義
<空白>
Controller_UnbindChildren_Response
在 fuchsia.device.fs/controller.fidl 中定義
<空白>
資料表
DevfsAddArgs 資源
定義於 fuchsia.device.fs/connector.fidl
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
connector |
Connector
|
這是要安裝在 devfs 中的連接器。
用戶端連線至檔案系統中的這個節點時,系統就會呼叫 |
2 |
class_name |
string[255]
|
這是在 devfs 中安裝這個節點的類別名稱。
節點會放在 /dev/class/{class_name} 中
如果 /dev/class 之下沒有 |
3 |
inspect |
handle<vmo>
|
這是將在 devf 安裝的檢查資料 VMO。 選用:如果未提供這個值,devfs 的檢查資料會是空白。 |
4 |
connector_supports |
ConnectionType
|
|連接器|支援的連線類型狀態。 驅動程式庫程式架構應處理 。 如果未提供,系統只會假設連接器支援的裝置類型。 新增時間:HEAD
|
5 |
controller_connector |
Connector
|
這是要安裝在 devfs 中的控制器連接器。
在用戶端連線至 device_controller 連線時,系統會呼叫 新增時間:HEAD
|
聯合國
Controller_Bind_Result 嚴格
在 fuchsia.device.fs/controller.fidl 中定義
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Controller_Bind_Response
|
|
2 |
err |
zx/Status
|
Controller_GetTopologicalPath_Result 嚴格
在 fuchsia.device.fs/controller.fidl 中定義
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Controller_GetTopologicalPath_Response
|
|
2 |
err |
zx/Status
|
Controller_Rebind_Result 嚴格
在 fuchsia.device.fs/controller.fidl 中定義
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Controller_Rebind_Response
|
|
2 |
err |
zx/Status
|
Controller_ScheduleUnbind_Result 嚴格
在 fuchsia.device.fs/controller.fidl 中定義
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Controller_ScheduleUnbind_Response
|
|
2 |
err |
zx/Status
|
Controller_UnbindChildren_Result 嚴格
在 fuchsia.device.fs/controller.fidl 中定義
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Controller_UnbindChildren_Response
|
|
2 |
err |
zx/Status
|
商業智慧
ConnectionType 彈性
類型:uint8
定義於 fuchsia.device.fs/connector.fidl
名稱 | 值 | 說明 |
---|---|---|
節點 |
1 | 代表 fuchsia.io/Node 通訊協定。 |
控制人員 |
2 | 代表 fuchsia.device/Controller 通訊協定。 |
裝置 |
4 | 代表裝置專屬 FIDL。 |
觀測站
名稱 | 值 | 類型 | 說明 |
---|---|---|---|
DEVICE_CONTROLLER_NAME | device_controller |
String |
這個名稱保留給存取 fuchsia.device/Controller 通訊協定時使用 /dev/.無法使用這個名稱建立裝置。 |
DEVICE_PROTOCOL_NAME | device_protocol |
String |
這個名稱保留給存取裝置專用通訊協定時使用 /dev/.無法使用這個名稱建立裝置。 |
MAX_DEVICE_PATH_LEN |
1024
|
uint64 |
裝置路徑的長度上限 新增時間:HEAD
|
MAX_DRIVER_PATH_LEN |
1024
|
uint64 |
驅動程式庫路徑的長度上限 新增時間:HEAD
|