Updated: 2020/Jul/29


FIDO_BIO_TEMPLATE(3)       Library Functions Manual       FIDO_BIO_TEMPLATE(3)

NAME
     fido_bio_template, fido_bio_template_array_count,
     fido_bio_template_array_free, fido_bio_template_array_new,
     fido_bio_template_free, fido_bio_template_id_len,
     fido_bio_template_id_ptr, fido_bio_template_name, fido_bio_template_new,
     fido_bio_template_set_id, fido_bio_template_set_name - FIDO 2 biometric
     template API

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

     fido_bio_template_t *
     fido_bio_template_new(void);

     void
     fido_bio_template_free(fido_bio_template_t **template_p);

     const char *
     fido_bio_template_name(const fido_bio_template_t *template);

     const unsigned char *
     fido_bio_template_id_ptr(const fido_bio_template_t *template);

     size_t
     fido_bio_template_id_len(const fido_bio_template_t *template);

     int
     fido_bio_template_set_id(fido_bio_template_t *template,
         const unsigned char *ptr, size_t len);

     int
     fido_bio_template_set_name(fido_bio_template_t *template,
         const char *name);

     fido_bio_template_array_t *
     fido_bio_template_array_new(void);

     void
     fido_bio_template_array_free(fido_bio_template_array_t **template_array_p);

     size_t
     fido_bio_template_array_count(const fido_bio_template_array_t *template_array);

     const fido_bio_template_t *
     fido_bio_template(const fido_bio_template_array_t *template_array,
         size_t idx);

DESCRIPTION
     Existing FIDO 2 biometric enrollments are abstracted in libfido2 by the
     fido_bio_template_t and fido_bio_template_array_t types.

     The functions described in this page allow a fido_bio_template_t type to
     be allocated, deallocated, changed, and inspected, and a
     fido_bio_template_array_t type to be allocated, deallocated, and
     inspected.  For device operations on fido_bio_template_t and
     fido_bio_template_array_t, please refer to fido_bio_dev_get_info(3).

     The fido_bio_template_new() function returns a pointer to a newly
     allocated, empty fido_bio_template_t type.  If memory cannot be
     allocated, NULL is returned.

     The fido_bio_template_free() function releases the memory backing
     *template_p, where *template_p must have been previously allocated by
     fido_bio_template_new().  On return, *template_p is set to NULL.  Either
     template_p or *template_p may be NULL, in which case
     fido_bio_template_free() is a NOP.

     The fido_bio_template_name() function returns a pointer to a NUL-
     terminated string containing the friendly name of template, or NULL if
     template does not have a friendly name set.

     The fido_bio_template_id_ptr() function returns a pointer to the template
     id of template, or NULL if template does not have an id.  The
     corresponding length can be obtained by fido_bio_template_id_len().

     The fido_bio_template_set_name() function sets the friendly name of
     template to name.  If name is NULL, the friendly name of template is
     unset.

     The fido_bio_template_array_new() function returns a pointer to a newly
     allocated, empty fido_bio_template_array_t type.  If memory cannot be
     allocated, NULL is returned.

     The fido_bio_template_array_free() function releases the memory backing
     *template_array_p, where *template_array_p must have been previously
     allocated by fido_bio_template_array_new().  On return, *template_array_p
     is set to NULL.  Either template_array_p or *template_array_p may be
     NULL, in which case fido_bio_template_array_free() is a NOP.

     The fido_bio_template_array_count() function returns the number of
     templates in template_array.

     The fido_bio_template() function returns a pointer to the template at
     index idx in template_array.  Please note that the first template in
     template_array has an idx (index) value of 0.

SEE ALSO
     fido_bio_dev_get_info(3), fido_bio_enroll_new(3)

NetBSD 9.99             $Mdocdate: September 13 2019 $             NetBSD 9.99