|
Zephyr API Documentation 4.5.0-rc1
A Scalable Open Source RTOS
|
FIDO2 transport abstraction API. More...
#include <zephyr/kernel.h>#include <zephyr/sys/iterable_sections.h>#include <zephyr/authentication/fido2/fido2_types.h>#include <stddef.h>#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | fido2_transport_api |
| Transport driver API callbacks. More... | |
| struct | fido2_transport |
| A registered FIDO2 transport. More... | |
| #define | FIDO2_BLE_SERVICE_UUID_VAL 0xFFFDU |
| FIDO BLE service UUID value. | |
| #define | FIDO2_BLE_SERVICE_DATA_PAIRING_MODE BIT(7) |
| FIDO Pairing mode bit position. | |
| #define | FIDO2_TRANSPORT_DEFINE(_name, _label, _api) |
| Register a FIDO2 transport. | |
| enum | fido2_wire_status { FIDO2_WIRE_STATUS_UP_NEEDED , FIDO2_WIRE_STATUS_PROCESSING , FIDO2_WIRE_STATUS_DONE } |
| Transport progress status codes. More... | |
| typedef int(* | fido2_transport_recv_cb_t) (const struct fido2_transport *transport, uint32_t cid, const uint8_t *buf, size_t len) |
| Callback invoked when a transport receives data from the host. | |
| typedef void(* | fido2_transport_cancel_cb_t) (const struct fido2_transport *transport) |
| Callback invoked when a transport receives a cancel command. | |
FIDO2 transport abstraction API.
| #define FIDO2_BLE_SERVICE_DATA_PAIRING_MODE BIT(7) |
FIDO Pairing mode bit position.
| #define FIDO2_BLE_SERVICE_UUID_VAL 0xFFFDU |
FIDO BLE service UUID value.
| #define FIDO2_TRANSPORT_DEFINE | ( | _name, | |
| _label, | |||
| _api ) |
Register a FIDO2 transport.
| _name | C identifier for this transport instance. |
| _label | Human-readable name string (e.g. "USB_HID"). |
| _api | Pointer to the transport's fido2_transport_api. |
| typedef void(* fido2_transport_cancel_cb_t) (const struct fido2_transport *transport) |
Callback invoked when a transport receives a cancel command.
| transport | Transport instance that received the cancel command. |
| typedef int(* fido2_transport_recv_cb_t) (const struct fido2_transport *transport, uint32_t cid, const uint8_t *buf, size_t len) |
Callback invoked when a transport receives data from the host.
Executes in the transport's internal work queue thread, not the FIDO2 core thread. Must not block. Implementations should enqueue work and return immediately. Not callable from userspace.
| transport | Transport instance that received the data. |
| cid | Transport channel ID associated with the received message. |
| buf | Received data payload. |
| len | Length of the received data in bytes. |
| 0 | If successful. |
| -EMSGSIZE | If message is too large for message queue. |
| -ENOBUFS | If message queue is full or an operation is already active on another transport. |
| enum fido2_wire_status |