FIDO_BIO_DEV_GET_INFO(3)
π FIDO_BIO_DEV_GET_INFO π
okay so bestie, this is the biometric authenticator API page from the Library Functions Manual β it's called fido_bio_dev_get_info(3) and it's literally your whole group chat with a FIDO2 authenticator's fingerprint sensor. seven functions. all of them. let's go π«Ά
β¨ 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 β the FIDO2 biometric authenticator API π
πΈ 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 π¦
so the functions on this page let you do the full ~biometric template~ lifestyle on a FIDO2 authenticator: list them, create them, remove them, and customise them. it's giving full CRUD but for your fingerprints π
π¨ real talk though: not all FIDO2 authenticators support biometric enrollment. don't come for me if yours is a hater.
and if you wanna know about the types involved here (the little structs doing all the work), go read fido_bio_info_new(3), fido_bio_enroll_new(3), and fido_bio_template(3). they're the supporting cast and they ate π
fido_bio_dev_get_info() β populates info with sensor information from dev. that's it, that's the vibe. it just tells you what the sensor is about β¨
fido_bio_dev_enroll_begin() β initiates a biometric enrollment on dev, and tells the authenticator to wait timeout_ms milliseconds. on success, template and enroll get populated with the newly created template's information and the enrollment status, respectively. two for one, obsessed π
fido_bio_dev_enroll_continue() β continues an ongoing enrollment on dev, again telling the authenticator to wait timeout_ms milliseconds. on success, enroll gets updated to reflect the status of the biometric enrollment. like "hey we're still doing this, hold on" π
fido_bio_dev_enroll_cancel() β cancels an ongoing enrollment on dev. the "nvm bestie" of functions π
fido_bio_dev_enroll_remove() β removes template from dev. bye bitch π
fido_bio_dev_get_template_array() β populates template_array with the templates currently enrolled on dev. the receipts π
fido_bio_dev_set_template_name() β sets the friendly name of template on dev. give your finger a cute nickname, you deserve it π
π 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 all defined in <fido/err.h>. and on success? you get FIDO_OK. slay π
π SEE ALSO π
and that's the whole page bestie!! π this one shipped as part of Debian's Library Functions Manual, dated September 13, 2019 β yes she's a little vintage but she still serves π no cap, go enroll a finger, you got this π«Άβ¨
π¦ where this page comes from
- alpine 3.22: libfido2-doc 1.16.0-r0 Β· BSD-2-Clause
- alpine 3.23: libfido2-doc 1.16.0-r2 Β· BSD-2-Clause
- alpine 3.24: libfido2-doc 1.16.0-r4 Β· BSD-2-Clause
- arch rolling: libfido2 1.17.0-1 Β· BSD-2-Clause
- centos-stream 10: libfido2-devel 1.14.0-7.el10 Β· BSD-2-Clause
- centos-stream 9: libfido2-devel 1.13.0-2.el9 Β· BSD
- centos-stream 9: libfido2-devel 1.13.0-2.el9 Β· BSD
- debian bookworm: libfido2-doc 1.12.0-2 Β· BSD-2-Clause
- debian trixie: libfido2-doc 1.15.0-1 Β· BSD-2-Clause
- fedora 43: libfido2-devel 1.16.0-3.fc43 Β· BSD-2-Clause
- fedora 43: libfido2-devel 1.16.0-3.fc43 Β· BSD-2-Clause
- fedora 44: libfido2-devel 1.16.0-5.fc44 Β· BSD-2-Clause
- fedora 44: libfido2-devel 1.16.0-5.fc44 Β· BSD-2-Clause
- nixos 26.05: fido2-manage 0-unstable-2025-06-06
- nixpkgs unstable: fido2-manage 0-unstable-2025-06-06
- nixpkgs unstable: libfido2 1.17.0
- opensuse-leap 16.0: libfido2-devel 1.15.0-160000.3.2 Β· BSD-2-Clause
- opensuse-leap 16.0: libfido2-devel 1.15.0-160000.3.2 Β· BSD-2-Clause
- opensuse-leap 16.0: libfido2-devel 1.15.0-160000.3.2 Β· BSD-2-Clause
- opensuse-leap 16.0: libfido2-devel 1.15.0-160000.3.2 Β· BSD-2-Clause
- ubuntu noble: libfido2-doc 1.14.0-1build3 Β· BSD-2-Clause
- ubuntu questing: libfido2-doc 1.16.0-2
- ubuntu resolute: libfido2-doc 1.16.0-2build1 Β· BSD-2-Clause
- ubuntu stonking: libfido2-doc 1.17.0-2build1 Β· BSD-2-Clause
- π the page's license: BSD-2-Clause
- Copyright (c) 2019 Yubico AB. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms