Device access

Order Call What it does
1 fido_init()[library] Initialize the library.
2 fido_dev_info_new()[library] → fido_dev_info_manifest() Allocate a discovery list and populate it.
3 fido_dev_info_ptr()[library] / fido_dev_info_path() Read each entry; select a device path.
4 fido_dev_new()[library] → fido_dev_open() Create and open a device handle.
5 fido_dev_close() → fido_dev_free()[library] Close and release the handle.
6 fido_dev_info_free()[library] Release discovery results.

Discovery-list pointers die with the list. Paths identify OS devices, not credentials. Removal invalidates handles.

Capabilities

Use fido_dev_get_cbor_info() for authenticator versions, extensions, options, and supported algorithms. Convenience predicates such as fido_dev_has_pin() and fido_dev_supports_credman() answer narrower questions. Query capabilities after opening the device; do not infer them from its product name.