PROTOCOLS
Connector
Defined in fuchsia.device.fs/connector.fidl
A connector lets a client forward the server end of a protocol.
Connect
Forward a server end of a protocol so that it can be connected.
- request
server
the server end of the protocol to be served. The FIDL protocol that this speaks is determined out-of-band.
- response This function has no response. The function is one-way to match the pipelining behaviors of other virtual filesystems.
Request
Name | Type |
---|---|
server |
handle<channel>
|
Controller
Defined in fuchsia.device.fs/controller.fidl
Interface for manipulating a device in a devhost
Bind
Attempt to bind a driver to this device.
- request
driver
This represents the suffix of a driver URL (e.g: "fvm.cm"). If this is non-empty, then the only drivers that will try to bind are ones that match this url suffix.
Request
Name | Type |
---|---|
driver |
string:1024
|
Response
Name | Type |
---|---|
payload |
Controller_Bind_Result
|
ConnectToController
Connect to the same Controller FIDL protocol.
Request
Name | Type |
---|---|
server |
server_end:Controller
|
ConnectToDeviceFidl
Connect to the underlying device's FIDL protocol. This connection will not be multiplexed with fuchsia.device.Controller or fuchsia.io.Node.
Request
Name | Type |
---|---|
server |
handle<channel>
|
GetTopologicalPath
Return the topological path for this device
Request
<EMPTY>
Response
Name | Type |
---|---|
payload |
Controller_GetTopologicalPath_Result
|
Rebind
Unbind all the children of this device, and then attempt to bind a driver to the device. This will not return until the bind completes.
- request
driver
This represents the suffix of a driver URL (e.g: "fvm.cm"). If this is non-empty, then the only drivers that will try to bind are ones that match this url suffix.
Request
Name | Type |
---|---|
driver |
string:1024
|
Response
Name | Type |
---|---|
payload |
Controller_Rebind_Result
|
ScheduleUnbind
Disconnect this device and allow its parent to be bound again. This may not complete before it returns.
Request
<EMPTY>
Response
Name | Type |
---|---|
payload |
Controller_ScheduleUnbind_Result
|
UnbindChildren
This api will unbind all the children of this device synchronously. This will avoid watching for device removal by the clients.
Request
<EMPTY>
Response
Name | Type |
---|---|
payload |
Controller_UnbindChildren_Result
|
STRUCTS
Controller_Bind_Response
Defined in fuchsia.device.fs/controller.fidl
<EMPTY>
Controller_GetTopologicalPath_Response
Defined in fuchsia.device.fs/controller.fidl
Field | Type | Description | Default |
---|---|---|---|
path |
string:1024
|
No default |
Controller_Rebind_Response
Defined in fuchsia.device.fs/controller.fidl
<EMPTY>
Controller_ScheduleUnbind_Response
Defined in fuchsia.device.fs/controller.fidl
<EMPTY>
Controller_UnbindChildren_Response
Defined in fuchsia.device.fs/controller.fidl
<EMPTY>
TABLES
DevfsAddArgs resource
Defined in fuchsia.device.fs/connector.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
connector |
client_end:Connector
|
This is the connector to be installed in devfs.
|
2 |
class_name |
string:255
|
This is the class name for installing this node in devfs.
The node will be placed within /dev/class/{class_name}.
If |
3 |
inspect |
handle<vmo>
|
This is a vmo of inspect data that will be installed in devfs. Optional: If this is not provided then the devfs's inspect data will be empty. |
4 |
connector_supports |
ConnectionType
|
The connection types that are supported by the |connector| given. The driver framework should handle connection types that are not supported by the connector. If not provided, only the device type is assumed as supported by the connector. Added: HEAD
|
5 |
controller_connector |
client_end:Connector
|
This is the controller connector to be installed in devfs.
Added: HEAD
|
UNIONS
Controller_Bind_Result strict
Defined in fuchsia.device.fs/controller.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Controller_Bind_Response
|
|
2 |
err |
zx/Status
|
Controller_GetTopologicalPath_Result strict
Defined in fuchsia.device.fs/controller.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Controller_GetTopologicalPath_Response
|
|
2 |
err |
zx/Status
|
Controller_Rebind_Result strict
Defined in fuchsia.device.fs/controller.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Controller_Rebind_Response
|
|
2 |
err |
zx/Status
|
Controller_ScheduleUnbind_Result strict
Defined in fuchsia.device.fs/controller.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Controller_ScheduleUnbind_Response
|
|
2 |
err |
zx/Status
|
Controller_UnbindChildren_Result strict
Defined in fuchsia.device.fs/controller.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Controller_UnbindChildren_Response
|
|
2 |
err |
zx/Status
|
BITS
ConnectionType flexible
Type: uint8
Defined in fuchsia.device.fs/connector.fidl
Name | Value | Description |
---|---|---|
NODE |
1 | Represents the fuchsia.io/Node protocol. |
CONTROLLER |
2 | Represents the fuchsia.device/Controller protocol. |
DEVICE |
4 | Represents the device specific FIDL. |
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
DEVICE_CONTROLLER_NAME | device_controller |
String |
This name is reserved for accessing the fuchsia.device/Controller protocol within /dev/. No devices can be created with this name. |
DEVICE_PROTOCOL_NAME | device_protocol |
String |
This name is reserved for accessing the device specific protocol within /dev/. No devices can be created with this name. |
MAX_DEVICE_PATH_LEN |
1024
|
uint64 |
Maximum length of a device path Added: HEAD
|
MAX_DRIVER_PATH_LEN |
1024
|
uint64 |
Maximum length for a driver path Added: HEAD
|