QRTR related APIs for QRTR clients and servers.
Provides APIs for drivers wishing to communicate to the remote QRTR nodes as clients. Provides APIs for QRTR transport layer driver to connect to QRTR driver.
PROTOCOLS
QrtrClientConnection
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
The connection used between a QRTR client and the QRTR driver.
GetSignals
Retrieves the signals eventpair.
- response
signals
an eventpair that is signalled withSIGNAL_READABLE
andSIGNAL_WRITABLE
when read and write buffers are available, respectively.
Request
<EMPTY>
Response
Name | Type |
---|---|
payload |
QrtrClientConnection_GetSignals_Result
|
Read
Reads a QRTR frame via the connection.
Only one read request can be performed at a time.
src_node_id
: Source node ID of the QRTR frame.src_port
: Source port of the QRTR frame.data
: QRTR payload.
- Errors:
WOULD_BLOCK
: Cannot read; should wait in non-blocking mode.ALREADY_PENDING
: More than one read operation is pending in blocking mode.INTERNAL_ERROR
: Unexpected QRTR error.
Request
<EMPTY>
Response
Name | Type |
---|---|
payload |
QrtrClientConnection_Read_Result
|
Write
Writes a QRTR frame.
Only one write request can be performed at a time.
- Errors:
WOULD_BLOCK
: Cannot write; should wait in non-blocking mode.ALREADY_PENDING
: More than one write operation is pending in blocking mode.REMOTE_NODE_UNAVAILABLE
: Target node unavailable.INTERNAL_ERROR
: Unexpected QRTR error.
Request
Name | Type |
---|---|
dst_node_id |
NodeId
|
dst_port |
PortId
|
data |
vector<uint8>
|
Response
Name | Type |
---|---|
payload |
QrtrClientConnection_Write_Result
|
QrtrConnector
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
Vends client connections with no access constraints in QRTR.
GetConnection
Gets a new connection from QRTR.
If port
is specificed in options, creates a connection with target
port. Otherwise, assigns a random port for the connection.
- Errors:
INTERNAL_ERROR
: Unexpected QRTR error.
Request
Name | Type |
---|---|
options |
ConnectionOptions
|
proxy |
server_end:QrtrClientConnection
|
Response
Name | Type |
---|---|
payload |
QrtrConnector_GetConnection_Result
|
QrtrTransportChannel
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
The channel for a transport driver that communicates with the remote processor and the QRTR driver.
Every message is preambled by a QRTR header, consult the appropriate specification for format.
Read
Reads a QRTR frame from a transport driver.
Blocks until an inbound frame is ready to be consumed. Only one read request can be performed at a time.
data
: QRTR frame.
- Errors:
ALREADY_PENDING
: More than one read operation is pending.INTERNAL_ERROR
: Unexpected QRTR error.
Request
<EMPTY>
Response
Name | Type |
---|---|
payload |
QrtrTransportChannel_Read_Result
|
Write
Writes a QRTR frame to a transport driver.
Only one write request can be performed at a time.
- Errors:
ALREADY_PENDING
: More than one write operation is pending.INTERNAL_ERROR
: Unexpected QRTR error.
Request
Name | Type |
---|---|
data |
vector<uint8>
|
Response
Name | Type |
---|---|
payload |
QrtrTransportChannel_Write_Result
|
QrtrTransportConnector
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
Used by a transport driver that communicates with a remote processor to establish a new channel to the QRTR driver.
EstablishConnection
Establishes a channel.
Child drivers should only estabilsh one connection to the QRTR driver.
Request
Name | Type |
---|---|
proxy |
client_end:QrtrTransportChannel
|
Response
Name | Type |
---|---|
payload |
QrtrTransportConnector_EstablishConnection_Result
|
STRUCTS
QrtrClientConnection_GetSignals_Response resource
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
Field | Type | Description | Default |
---|---|---|---|
signals |
handle<eventpair>
|
No default |
QrtrClientConnection_Read_Response
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
Field | Type | Description | Default |
---|---|---|---|
src_node_id |
NodeId
|
No default | |
src_port |
PortId
|
No default | |
data |
vector<uint8>
|
No default |
QrtrClientConnection_Write_Response
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
<EMPTY>
QrtrConnector_GetConnection_Response
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
<EMPTY>
QrtrTransportChannel_Read_Response
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
Field | Type | Description | Default |
---|---|---|---|
data |
vector<uint8>
|
No default |
QrtrTransportChannel_Write_Response
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
<EMPTY>
QrtrTransportConnector_EstablishConnection_Response
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
<EMPTY>
ENUMS
Error flexible
Type: uint32
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
Error codes for QRTR operations.
Name | Value | Description |
---|---|---|
INTERNAL_ERROR |
1 |
Internal error in QRTR. |
ALREADY_PENDING |
2 |
Returned by blocking QrtrClientConnection.Read and QrtrClientConnection.Write due to resource constraints. |
REMOTE_NODE_UNAVAILABLE |
3 |
Remote node unavailable. |
ALREADY_BOUND |
4 |
Port is already bound. |
NOT_SUPPORTED |
5 |
Operation is not supported. |
WOULD_BLOCK |
6 |
Returned by non-blocking QrtrClientConnection.Read and QrtrClientConnection.Write. |
TABLES
ConnectionOptions
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
Connection Options used by QrtrConnector.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
blocking |
bool
|
Blocking mode Optional. Intepreted as true if absent. |
2 |
port |
PortId
|
Request to reserve a Port when creating the connection. Optional. |
UNIONS
QrtrClientConnection_GetSignals_Result strict resource
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
QrtrClientConnection_GetSignals_Response
|
|
3 |
framework_err |
internal
|
QrtrClientConnection_Read_Result strict
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
QrtrClientConnection_Read_Response
|
|
2 |
err |
Error
|
|
3 |
framework_err |
internal
|
QrtrClientConnection_Write_Result strict
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
QrtrClientConnection_Write_Response
|
|
2 |
err |
Error
|
|
3 |
framework_err |
internal
|
QrtrConnector_GetConnection_Result strict
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
QrtrConnector_GetConnection_Response
|
|
2 |
err |
Error
|
|
3 |
framework_err |
internal
|
QrtrTransportChannel_Read_Result strict
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
QrtrTransportChannel_Read_Response
|
|
2 |
err |
Error
|
|
3 |
framework_err |
internal
|
QrtrTransportChannel_Write_Result strict
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
QrtrTransportChannel_Write_Response
|
|
2 |
err |
Error
|
|
3 |
framework_err |
internal
|
QrtrTransportConnector_EstablishConnection_Result strict
Defined in fuchsia.hardware.qualcomm.router/qrtr.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
QrtrTransportConnector_EstablishConnection_Response
|
|
2 |
err |
Error
|
|
3 |
framework_err |
internal
|
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
SIGNAL_READABLE |
16777216
|
uint32 |
Signal asserted on event handle when the QrtrClientConnection.Read method can return data. |
SIGNAL_WRITABLE |
33554432
|
uint32 |
Signal asserted on event handle when the QrtrClientConnection.Write method can accept data. |
ALIASES
Name | Value | Description |
---|---|---|
NodeId |
int32 |
|
PortId |
int32 |