Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
FIDO_DEV_OPEN(3)	    Library Functions Manual	      FIDO_DEV_OPEN(3)

NAME
       fido_dev_open,	      fido_dev_open_with_info,	       fido_dev_close,
       fido_dev_cancel,	fido_dev_new,  fido_dev_new_with_info,	fido_dev_free,
       fido_dev_force_fido2,	   fido_dev_force_u2f,	    fido_dev_is_fido2,
       fido_dev_is_winhello,			    fido_dev_supports_credman,
       fido_dev_supports_cred_prot,		fido_dev_supports_permissions,
       fido_dev_supports_pin,	  fido_dev_supports_uv,	     fido_dev_has_pin,
       fido_dev_has_uv,	  fido_dev_protocol,  fido_dev_build,  fido_dev_flags,
       fido_dev_major, fido_dev_minor -- FIDO2 device open/close  and  related
       functions

SYNOPSIS
       #include	<fido.h>

       int
       fido_dev_open(fido_dev_t	*dev, const char *path);

       int
       fido_dev_open_with_info(fido_dev_t *dev);

       int
       fido_dev_close(fido_dev_t *dev);

       int
       fido_dev_cancel(fido_dev_t *dev);

       fido_dev_t *
       fido_dev_new(void);

       fido_dev_t *
       fido_dev_new_with_info(const fido_dev_info_t *);

       void
       fido_dev_free(fido_dev_t	**dev_p);

       void
       fido_dev_force_fido2(fido_dev_t *dev);

       void
       fido_dev_force_u2f(fido_dev_t *dev);

       bool
       fido_dev_is_fido2(const fido_dev_t *dev);

       bool
       fido_dev_is_winhello(const fido_dev_t *dev);

       bool
       fido_dev_supports_credman(const fido_dev_t *dev);

       bool
       fido_dev_supports_cred_prot(const fido_dev_t *dev);

       bool
       fido_dev_supports_permissions(const fido_dev_t *dev);

       bool
       fido_dev_supports_pin(const fido_dev_t *dev);

       bool
       fido_dev_supports_uv(const fido_dev_t *dev);

       bool
       fido_dev_has_pin(const fido_dev_t *dev);

       bool
       fido_dev_has_uv(const fido_dev_t	*dev);

       uint8_t
       fido_dev_protocol(const fido_dev_t *dev);

       uint8_t
       fido_dev_build(const fido_dev_t *dev);

       uint8_t
       fido_dev_flags(const fido_dev_t *dev);

       uint8_t
       fido_dev_major(const fido_dev_t *dev);

       uint8_t
       fido_dev_minor(const fido_dev_t *dev);

DESCRIPTION
       The fido_dev_open() function opens the device pointed to	by path, where
       dev  is	a  freshly  allocated  or otherwise closed fido_dev_t.	If dev
       claims to be FIDO2, libfido2 will attempt to speak FIDO2	 to  dev.   If
       that    fails,	 libfido2    will   fallback   to   U2F	  unless   the
       FIDO_DISABLE_U2F_FALLBACK flag was set in fido_init(3).

       The fido_dev_open_with_info() function opens dev	 as  previously	 allo-
       cated using fido_dev_new_with_info().

       The fido_dev_close() function closes the	device represented by dev.  If
       dev is already closed, fido_dev_close() is a NOP.

       The fido_dev_cancel() function cancels any pending requests on dev.

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

       The fido_dev_new_with_info() function returns a pointer to a newly  al-
       located	fido_dev_t  with  fido_dev_info_t  parameters,	for  use  with
       fido_dev_info_manifest(3)  and  fido_dev_open_with_info().   If	memory
       cannot be allocated, NULL is returned.

       The  fido_dev_free() function releases the memory backing *dev_p, where
       *dev_p must have	been previously	allocated by fido_dev_new().   On  re-
       turn,  *dev_p  is  set to NULL.	Either dev_p or	*dev_p may be NULL, in
       which case fido_dev_free() is a NOP.

       The fido_dev_force_fido2() function can be used to force	CTAP2 communi-
       cation with dev,	where dev is an	open device.

       The fido_dev_force_u2f()	function can be	used to	force CTAP1 (U2F) com-
       munication with dev, where dev is an open device.

       The fido_dev_is_fido2() function	returns	true if	dev is a FIDO2 device.

       The fido_dev_is_winhello() function returns true	if dev	is  a  Windows
       Hello device.

       The  fido_dev_supports_credman()	 function returns true if dev supports
       CTAP 2.1	Credential Management.

       The fido_dev_supports_cred_prot() function returns true if dev supports
       CTAP 2.1	Credential Protection.

       The fido_dev_supports_permissions() function returns true if  dev  sup-
       ports CTAP 2.1 UV token permissions.

       The  fido_dev_supports_pin() function returns true if dev supports CTAP
       2.0 Client PINs.

       The fido_dev_supports_uv() function returns  true  if  dev  supports  a
       built-in	user verification method.

       The  fido_dev_has_pin()	function  returns  true	 if dev	has a CTAP 2.0
       Client PIN set.

       The fido_dev_has_uv() function returns true if  dev  supports  built-in
       user verification and its user verification feature is configured.

       The  fido_dev_protocol()	 function returns the CTAPHID protocol version
       identifier of dev.

       The fido_dev_build() function returns the CTAPHID build version	number
       of dev.

       The fido_dev_flags() function returns the CTAPHID capabilities flags of
       dev.

       The  fido_dev_major() function returns the CTAPHID major	version	number
       of dev.

       The fido_dev_minor() function returns the CTAPHID minor version	number
       of dev.

       For  the	format and meaning of the CTAPHID parameters returned by func-
       tions above, please refer to the	FIDO Client to Authenticator  Protocol
       (CTAP) specification.

RETURN VALUES
       On    success,	 fido_dev_open(),    fido_dev_open_with_info(),	   and
       fido_dev_close()	return FIDO_OK.	 On error, a different error code  de-
       fined in	<fido/err.h> is	returned.

SEE ALSO
       fido_dev_info_manifest(3), fido_dev_set_io_functions(3),	fido_init(3)

FreeBSD	Ports 14.quarterly	 May 25, 2018		      FIDO_DEV_OPEN(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=fido_dev_protocol&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help