1.\" Copyright (c) 2019 Yubico AB. All rights reserved. 2.\" 3.\" Redistribution and use in source and binary forms, with or without 4.\" modification, are permitted provided that the following conditions are 5.\" met: 6.\" 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in 11.\" the documentation and/or other materials provided with the 12.\" distribution. 13.\" 14.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 15.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 16.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 17.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 18.\" HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 19.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 20.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 24.\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25.\" 26.\" SPDX-License-Identifier: BSD-2-Clause 27.\" 28.Dd $Mdocdate: September 13 2019 $ 29.Dt FIDO_BIO_ENROLL_NEW 3 30.Os 31.Sh NAME 32.Nm fido_bio_enroll_new , 33.Nm fido_bio_enroll_free , 34.Nm fido_bio_enroll_last_status , 35.Nm fido_bio_enroll_remaining_samples 36.Nd FIDO2 biometric enrollment API 37.Sh SYNOPSIS 38.In fido.h 39.In fido/bio.h 40.Bd -literal 41#define FIDO_BIO_ENROLL_FP_GOOD 0x00 42#define FIDO_BIO_ENROLL_FP_TOO_HIGH 0x01 43#define FIDO_BIO_ENROLL_FP_TOO_LOW 0x02 44#define FIDO_BIO_ENROLL_FP_TOO_LEFT 0x03 45#define FIDO_BIO_ENROLL_FP_TOO_RIGHT 0x04 46#define FIDO_BIO_ENROLL_FP_TOO_FAST 0x05 47#define FIDO_BIO_ENROLL_FP_TOO_SLOW 0x06 48#define FIDO_BIO_ENROLL_FP_POOR_QUALITY 0x07 49#define FIDO_BIO_ENROLL_FP_TOO_SKEWED 0x08 50#define FIDO_BIO_ENROLL_FP_TOO_SHORT 0x09 51#define FIDO_BIO_ENROLL_FP_MERGE_FAILURE 0x0a 52#define FIDO_BIO_ENROLL_FP_EXISTS 0x0b 53#define FIDO_BIO_ENROLL_FP_DATABASE_FULL 0x0c 54#define FIDO_BIO_ENROLL_NO_USER_ACTIVITY 0x0d 55#define FIDO_BIO_ENROLL_NO_USER_PRESENCE_TRANSITION 0x0e 56.Ed 57.Ft fido_bio_enroll_t * 58.Fn fido_bio_enroll_new "void" 59.Ft void 60.Fn fido_bio_enroll_free "fido_bio_enroll_t **enroll_p" 61.Ft uint8_t 62.Fn fido_bio_enroll_last_status "const fido_bio_enroll_t *enroll" 63.Ft uint8_t 64.Fn fido_bio_enroll_remaining_samples "const fido_bio_enroll_t *enroll" 65.Sh DESCRIPTION 66Ongoing FIDO2 biometric enrollments are abstracted in 67.Em libfido2 68by the 69.Vt fido_bio_enroll_t 70type. 71.Pp 72The functions described in this page allow a 73.Vt fido_bio_enroll_t 74type to be allocated, deallocated, and inspected. 75For device operations on 76.Vt fido_bio_enroll_t , 77please refer to 78.Xr fido_bio_dev_get_info 3 . 79.Pp 80The 81.Fn fido_bio_enroll_new 82function returns a pointer to a newly allocated, empty 83.Vt fido_bio_enroll_t 84type. 85If memory cannot be allocated, NULL is returned. 86.Pp 87The 88.Fn fido_bio_enroll_free 89function releases the memory backing 90.Fa *enroll_p , 91where 92.Fa *enroll_p 93must have been previously allocated by 94.Fn fido_bio_enroll_new . 95On return, 96.Fa *enroll_p 97is set to NULL. 98Either 99.Fa enroll_p 100or 101.Fa *enroll_p 102may be NULL, in which case 103.Fn fido_bio_enroll_free 104is a NOP. 105.Pp 106The 107.Fn fido_bio_enroll_last_status 108function returns the enrollment status of 109.Fa enroll . 110.Pp 111The 112.Fn fido_bio_enroll_remaining_samples 113function returns the number of samples left for 114.Fa enroll 115to complete. 116.Sh SEE ALSO 117.Xr fido_bio_dev_get_info 3 , 118.Xr fido_bio_template 3 119