FIDO_BIO_ENROLL_NEW(3) | Library Functions Manual | FIDO_BIO_ENROLL_NEW(3)

# NAME

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

# SYNOPSIS

library “libfido2” libcbor libcrypto libz
`#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

Ongoing FIDO2 biometric enrollments are abstracted in 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).

The `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`() 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`() function returns the enrollment status of enroll.

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

# SEE ALSO

fido_bio_dev_get_info(3), fido_bio_template(3)

July 9, 2025 | Debian