FIDO_BIO_DEV_GET_INFO(3)

πŸ“¦
version 1.17.0 Β· 2 versions
  • 1.17.0 Β· alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, centos-stream 9, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 1.10.0 Β· ubuntu jammy
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, centos-stream 9, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– 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