FIDO\_BIO\_ENROLL\_NEW(3) Library Functions Manual FIDO\_BIO\_ENROLL\_NEW(3)

# [NAME](#NAME)

`fido_bio_enroll_new`, `fido_bio_enroll_free`, `fido_bio_enroll_last_status`, `fido_bio_enroll_remaining_samples` — FIDO2 biometric enrollment API

# [SYNOPSIS](#SYNOPSIS)

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

```
#define FIDO_BIO_ENROLL_FP_GOOD				0x00
#define FIDO_BIO_ENROLL_FP_TOO_HIGH			0x01
#define FIDO_BIO_ENROLL_FP_TOO_LOW			0x02
#define FIDO_BIO_ENROLL_FP_TOO_LEFT			0x03
#define FIDO_BIO_ENROLL_FP_TOO_RIGHT			0x04
#define FIDO_BIO_ENROLL_FP_TOO_FAST			0x05
#define FIDO_BIO_ENROLL_FP_TOO_SLOW			0x06
#define FIDO_BIO_ENROLL_FP_POOR_QUALITY			0x07
#define FIDO_BIO_ENROLL_FP_TOO_SKEWED			0x08
#define FIDO_BIO_ENROLL_FP_TOO_SHORT			0x09
#define FIDO_BIO_ENROLL_FP_MERGE_FAILURE		0x0a
#define FIDO_BIO_ENROLL_FP_EXISTS			0x0b
#define FIDO_BIO_ENROLL_FP_DATABASE_FULL		0x0c
#define FIDO_BIO_ENROLL_NO_USER_ACTIVITY		0x0d
#define FIDO_BIO_ENROLL_NO_USER_PRESENCE_TRANSITION	0x0e
```

`fido_bio_enroll_t *`  
`fido_bio_enroll_new`(`void`);

`void`  
`fido_bio_enroll_free`(`fido_bio_enroll_t **enroll_p`);

`uint8_t`  
`fido_bio_enroll_last_status`(`const fido_bio_enroll_t *enroll`);

`uint8_t`  
`fido_bio_enroll_remaining_samples`(`const fido_bio_enroll_t *enroll`);

# [DESCRIPTION](#DESCRIPTION)

Ongoing FIDO2 biometric enrollments are abstracted in [*libfido2*](#libfido2) by the `fido_bio_enroll_t` type.

The functions described in this page allow a `fido_bio_enroll_t` type to be allocated, deallocated, and inspected. For device operations on `fido_bio_enroll_t`, please refer to [fido\_bio\_dev\_get\_info(3)](/man/os/libfido2/fido_bio_dev_get_info.3).

The [`fido_bio_enroll_new`](#fido_bio_enroll_new)() function returns a pointer to a newly allocated, empty `fido_bio_enroll_t` type. If memory cannot be allocated, NULL is returned.

The [`fido_bio_enroll_free`](#fido_bio_enroll_free)() function releases the memory backing `*enroll_p`, where `*enroll_p` must have been previously allocated by `fido_bio_enroll_new`(). On return, `*enroll_p` is set to NULL. Either `enroll_p` or `*enroll_p` may be NULL, in which case `fido_bio_enroll_free`() is a NOP.

The [`fido_bio_enroll_last_status`](#fido_bio_enroll_last_status)() function returns the enrollment status of `enroll`.

The [`fido_bio_enroll_remaining_samples`](#fido_bio_enroll_remaining_samples)() function returns the number of samples left for `enroll` to complete.

# [SEE ALSO](#SEE_ALSO)

[fido\_bio\_dev\_get\_info(3)](/man/os/libfido2/fido_bio_dev_get_info.3), [fido\_bio\_template(3)](/man/os/libfido2/fido_bio_template.3)

September 13, 2019 Linux 4.19.0-gvisor

---

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