FIDO_DEV_GET_TOUCH_BEGIN(3)

NAME
fido_dev_get_touch_begin, fido_dev_get_touch_status - asynchronously wait for touch on a FIDO2 authenticator

SYNOPSIS
#include <fido.h>
int
fido_dev_get_touch_begin(fido_dev_t *dev);
int
fido_dev_get_touch_status(fido_dev_t *dev, int *touched, int ms);

DESCRIPTION
The functions described in this page allow an application to asynchronously wait for touch on a FIDO2 authenticator. This is useful when multiple authenticators are present and the application needs to know which one to use.

The fido_dev_get_touch_begin() function initiates a touch request on dev.

The fido_dev_get_touch_status() function continues an ongoing touch request on dev, blocking up to ms milliseconds. On success, touched will be updated to reflect the touch request status. If touched is 1, the device was touched, and the touch request is terminated. If touched is 0, the application may call fido_dev_get_touch_status() to continue the touch request, or fido_dev_cancel() to terminate it.

RETURN VALUES
The error codes returned by fido_dev_get_touch_begin() and fido_dev_get_touch_status() are defined in <fido/err.h>. On success, FIDO_OK is returned.

EXAMPLES
Please refer to examples/select.c in libfido2's source tree.

SEE ALSO
fido_dev_cancel(3)

CAVEATS
The fido_dev_get_touch_status() function will cause a command to be transmitted to U2F authenticators. These transmissions should not exceed a frequency of 5Hz.