FIDO\_BIO\_DEV\_GET\_INFO(3) Library Functions Manual FIDO\_BIO\_DEV\_GET\_INFO(3)

# [NAME](#NAME)

`fido_bio_dev_get_info`, `fido_bio_dev_enroll_begin`, `fido_bio_dev_enroll_continue`, `fido_bio_dev_enroll_cancel`, `fido_bio_dev_enroll_remove`, `fido_bio_dev_get_template_array`, `fido_bio_dev_set_template_name` — FIDO2 biometric authenticator API

# [SYNOPSIS](#SYNOPSIS)

`#include <fido.h>`  
`#include <fido/bio.h>`

`int`  
`fido_bio_dev_get_info`(`fido_dev_t *dev`, `fido_bio_info_t *info`);

`int`  
`fido_bio_dev_enroll_begin`(`fido_dev_t *dev`, `fido_bio_template_t *template`, `fido_bio_enroll_t *enroll`, `uint32_t timeout_ms`, `const char *pin`);

`int`  
`fido_bio_dev_enroll_continue`(`fido_dev_t *dev`, `const fido_bio_template_t *template`, `fido_bio_enroll_t *enroll`, `uint32_t timeout_ms`);

`int`  
`fido_bio_dev_enroll_cancel`(`fido_dev_t *dev`);

`int`  
`fido_bio_dev_enroll_remove`(`fido_dev_t *dev`, `const fido_bio_template_t *template`, `const char *pin`);

`int`  
`fido_bio_dev_get_template_array`(`fido_dev_t *dev`, `fido_bio_template_array_t *template_array`, `const char *pin`);

`int`  
`fido_bio_dev_set_template_name`(`fido_dev_t *dev`, `const fido_bio_template_t *template`, `const char *pin`);

# [DESCRIPTION](#DESCRIPTION)

The functions described in this page allow biometric templates on a FIDO2 authenticator to be listed, created, removed, and customised. Please note that not all FIDO2 authenticators support biometric enrollment. For a description of the types involved, please refer to [fido\_bio\_info\_new(3)](/man/os/libfido2/fido_bio_info_new.3), [fido\_bio\_enroll\_new(3)](/man/os/libfido2/fido_bio_enroll_new.3), and [fido\_bio\_template(3)](/man/os/libfido2/fido_bio_template.3).

The [`fido_bio_dev_get_info`](#fido_bio_dev_get_info)() function populates `info` with sensor information from `dev`.

The [`fido_bio_dev_enroll_begin`](#fido_bio_dev_enroll_begin)() function initiates a biometric enrollment on `dev`, instructing the authenticator to wait `timeout_ms` milliseconds. On success, `template` and `enroll` will be populated with the newly created template's information and enrollment status, respectively.

The [`fido_bio_dev_enroll_continue`](#fido_bio_dev_enroll_continue)() function continues an ongoing enrollment on `dev`, instructing the authenticator to wait `timeout_ms` milliseconds. On success, `enroll` will be updated to reflect the status of the biometric enrollment.

The [`fido_bio_dev_enroll_cancel`](#fido_bio_dev_enroll_cancel)() function cancels an ongoing enrollment on `dev`.

The [`fido_bio_dev_enroll_remove`](#fido_bio_dev_enroll_remove)() function removes `template` from `dev`.

The [`fido_bio_dev_get_template_array`](#fido_bio_dev_get_template_array)() function populates `template_array` with the templates currently enrolled on `dev`.

The [`fido_bio_dev_set_template_name`](#fido_bio_dev_set_template_name)() function sets the friendly name of `template` on `dev`.

# [RETURN VALUES](#RETURN_VALUES)

The error codes returned by `fido_bio_dev_get_info`(), `fido_bio_dev_enroll_begin`(), `fido_bio_dev_enroll_continue`(), `fido_bio_dev_enroll_cancel`(), `fido_bio_dev_enroll_remove`(), `fido_bio_dev_get_template_array`(), and `fido_bio_dev_set_template_name`() are defined in `<fido/err.h>`. On success, `FIDO_OK` is returned.

# [SEE ALSO](#SEE_ALSO)

[fido\_bio\_enroll\_new(3)](/man/os/libfido2/fido_bio_enroll_new.3), [fido\_bio\_info\_new(3)](/man/os/libfido2/fido_bio_info_new.3), [fido\_bio\_template(3)](/man/os/libfido2/fido_bio_template.3)

September 13, 2019 Linux 4.19.0-gvisor

---

Document: fido_bio_dev_enroll_begin(3) from libfido2 1.17.0-r5 (Chainguard OS)
Source: https://github.com/Yubico/libfido2
