KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.62
System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64
User : www ( 80)
PHP Version : 8.3.8
Disable Function : NONE
Directory :  /usr/local/share/doc/libfido2/html/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/local/share/doc/libfido2/html/fido_dev_free.html
<!DOCTYPE html>
<html>
<!-- This is an automatically generated file.  Do not edit.
   Copyright (c) 2018 Yubico AB. All rights reserved.
  
   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions are
   met:
  
      1. Redistributions of source code must retain the above copyright
         notice, this list of conditions and the following disclaimer.
      2. Redistributions in binary form must reproduce the above copyright
         notice, this list of conditions and the following disclaimer in
         the documentation and/or other materials provided with the
         distribution.
  
   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
   HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
   SPDX-License-Identifier: BSD-2-Clause
   -->
<head>
  <meta charset="utf-8"/>
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <link rel="stylesheet" href="style.css" type="text/css" media="all"/>
  <title>FIDO_DEV_OPEN(3)</title>
</head>
<body>
<table class="head">
  <tr>
    <td class="head-ltitle">FIDO_DEV_OPEN(3)</td>
    <td class="head-vol">FreeBSD Library Functions Manual</td>
    <td class="head-rtitle">FIDO_DEV_OPEN(3)</td>
  </tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">fido_dev_open</code>,
    <code class="Nm">fido_dev_open_with_info</code>,
    <code class="Nm">fido_dev_close</code>,
    <code class="Nm">fido_dev_cancel</code>,
    <code class="Nm">fido_dev_new</code>,
    <code class="Nm">fido_dev_new_with_info</code>,
    <code class="Nm">fido_dev_free</code>,
    <code class="Nm">fido_dev_force_fido2</code>,
    <code class="Nm">fido_dev_force_u2f</code>,
    <code class="Nm">fido_dev_is_fido2</code>,
    <code class="Nm">fido_dev_is_winhello</code>,
    <code class="Nm">fido_dev_supports_credman</code>,
    <code class="Nm">fido_dev_supports_cred_prot</code>,
    <code class="Nm">fido_dev_supports_permissions</code>,
    <code class="Nm">fido_dev_supports_pin</code>,
    <code class="Nm">fido_dev_supports_uv</code>,
    <code class="Nm">fido_dev_has_pin</code>,
    <code class="Nm">fido_dev_has_uv</code>,
    <code class="Nm">fido_dev_protocol</code>,
    <code class="Nm">fido_dev_build</code>,
    <code class="Nm">fido_dev_flags</code>,
    <code class="Nm">fido_dev_major</code>,
    <code class="Nm">fido_dev_minor</code> &#x2014; <span class="Nd">FIDO2
    device open/close and related functions</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp"><code class="In">#include
  &lt;<a class="In">fido.h</a>&gt;</code></p>
<p class="Pp"><var class="Ft">int</var>
  <br/>
  <code class="Fn">fido_dev_open</code>(<var class="Fa" style="white-space: nowrap;">fido_dev_t
    *dev</var>, <var class="Fa" style="white-space: nowrap;">const char
    *path</var>);</p>
<p class="Pp"><var class="Ft">int</var>
  <br/>
  <code class="Fn">fido_dev_open_with_info</code>(<var class="Fa" style="white-space: nowrap;">fido_dev_t
    *dev</var>);</p>
<p class="Pp"><var class="Ft">int</var>
  <br/>
  <code class="Fn">fido_dev_close</code>(<var class="Fa" style="white-space: nowrap;">fido_dev_t
    *dev</var>);</p>
<p class="Pp"><var class="Ft">int</var>
  <br/>
  <code class="Fn">fido_dev_cancel</code>(<var class="Fa" style="white-space: nowrap;">fido_dev_t
    *dev</var>);</p>
<p class="Pp"><var class="Ft">fido_dev_t *</var>
  <br/>
  <code class="Fn">fido_dev_new</code>(<var class="Fa" style="white-space: nowrap;">void</var>);</p>
<p class="Pp"><var class="Ft">fido_dev_t *</var>
  <br/>
  <code class="Fn">fido_dev_new_with_info</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_info_t *</var>);</p>
<p class="Pp"><var class="Ft">void</var>
  <br/>
  <code class="Fn">fido_dev_free</code>(<var class="Fa" style="white-space: nowrap;">fido_dev_t
    **dev_p</var>);</p>
<p class="Pp"><var class="Ft">void</var>
  <br/>
  <code class="Fn">fido_dev_force_fido2</code>(<var class="Fa" style="white-space: nowrap;">fido_dev_t
    *dev</var>);</p>
<p class="Pp"><var class="Ft">void</var>
  <br/>
  <code class="Fn">fido_dev_force_u2f</code>(<var class="Fa" style="white-space: nowrap;">fido_dev_t
    *dev</var>);</p>
<p class="Pp"><var class="Ft">bool</var>
  <br/>
  <code class="Fn">fido_dev_is_fido2</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_t *dev</var>);</p>
<p class="Pp"><var class="Ft">bool</var>
  <br/>
  <code class="Fn">fido_dev_is_winhello</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_t *dev</var>);</p>
<p class="Pp"><var class="Ft">bool</var>
  <br/>
  <code class="Fn">fido_dev_supports_credman</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_t *dev</var>);</p>
<p class="Pp"><var class="Ft">bool</var>
  <br/>
  <code class="Fn">fido_dev_supports_cred_prot</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_t *dev</var>);</p>
<p class="Pp"><var class="Ft">bool</var>
  <br/>
  <code class="Fn">fido_dev_supports_permissions</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_t *dev</var>);</p>
<p class="Pp"><var class="Ft">bool</var>
  <br/>
  <code class="Fn">fido_dev_supports_pin</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_t *dev</var>);</p>
<p class="Pp"><var class="Ft">bool</var>
  <br/>
  <code class="Fn">fido_dev_supports_uv</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_t *dev</var>);</p>
<p class="Pp"><var class="Ft">bool</var>
  <br/>
  <code class="Fn">fido_dev_has_pin</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_t *dev</var>);</p>
<p class="Pp"><var class="Ft">bool</var>
  <br/>
  <code class="Fn">fido_dev_has_uv</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_t *dev</var>);</p>
<p class="Pp"><var class="Ft">uint8_t</var>
  <br/>
  <code class="Fn">fido_dev_protocol</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_t *dev</var>);</p>
<p class="Pp"><var class="Ft">uint8_t</var>
  <br/>
  <code class="Fn">fido_dev_build</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_t *dev</var>);</p>
<p class="Pp"><var class="Ft">uint8_t</var>
  <br/>
  <code class="Fn">fido_dev_flags</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_t *dev</var>);</p>
<p class="Pp"><var class="Ft">uint8_t</var>
  <br/>
  <code class="Fn">fido_dev_major</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_t *dev</var>);</p>
<p class="Pp"><var class="Ft">uint8_t</var>
  <br/>
  <code class="Fn">fido_dev_minor</code>(<var class="Fa" style="white-space: nowrap;">const
    fido_dev_t *dev</var>);</p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The
    <a class="permalink" href="#fido_dev_open"><code class="Fn" id="fido_dev_open">fido_dev_open</code></a>()
    function opens the device pointed to by <var class="Fa">path</var>, where
    <var class="Fa">dev</var> is a freshly allocated or otherwise closed
    <var class="Vt">fido_dev_t</var>. If <var class="Fa">dev</var> claims to be
    FIDO2, <i class="Em">libfido2</i> will attempt to speak FIDO2 to
    <var class="Fa">dev</var>. If that fails, <i class="Em">libfido2</i> will
    fallback to U2F unless the <code class="Dv">FIDO_DISABLE_U2F_FALLBACK</code>
    flag was set in <a class="Xr" href="fido_init.html">fido_init(3)</a>.</p>
<p class="Pp" id="fido_dev_open_with_info">The
    <a class="permalink" href="#fido_dev_open_with_info"><code class="Fn">fido_dev_open_with_info</code></a>()
    function opens <var class="Fa">dev</var> as previously allocated using
    <code class="Fn">fido_dev_new_with_info</code>().</p>
<p class="Pp" id="fido_dev_close">The
    <a class="permalink" href="#fido_dev_close"><code class="Fn">fido_dev_close</code></a>()
    function closes the device represented by <var class="Fa">dev</var>. If
    <var class="Fa">dev</var> is already closed,
    <code class="Fn">fido_dev_close</code>() is a NOP.</p>
<p class="Pp" id="fido_dev_cancel">The
    <a class="permalink" href="#fido_dev_cancel"><code class="Fn">fido_dev_cancel</code></a>()
    function cancels any pending requests on <var class="Fa">dev</var>.</p>
<p class="Pp" id="fido_dev_new">The
    <a class="permalink" href="#fido_dev_new"><code class="Fn">fido_dev_new</code></a>()
    function returns a pointer to a newly allocated, empty
    <var class="Vt">fido_dev_t</var>. If memory cannot be allocated, NULL is
    returned.</p>
<p class="Pp" id="fido_dev_new_with_info">The
    <a class="permalink" href="#fido_dev_new_with_info"><code class="Fn">fido_dev_new_with_info</code></a>()
    function returns a pointer to a newly allocated
    <var class="Vt">fido_dev_t</var> with <var class="Vt">fido_dev_info_t</var>
    parameters, for use with
    <a class="Xr" href="fido_dev_info_manifest.html">fido_dev_info_manifest(3)</a>
    and <code class="Fn">fido_dev_open_with_info</code>(). If memory cannot be
    allocated, NULL is returned.</p>
<p class="Pp" id="fido_dev_free">The
    <a class="permalink" href="#fido_dev_free"><code class="Fn">fido_dev_free</code></a>()
    function releases the memory backing <var class="Fa">*dev_p</var>, where
    <var class="Fa">*dev_p</var> must have been previously allocated by
    <code class="Fn">fido_dev_new</code>(). On return,
    <var class="Fa">*dev_p</var> is set to NULL. Either
    <var class="Fa">dev_p</var> or <var class="Fa">*dev_p</var> may be NULL, in
    which case <code class="Fn">fido_dev_free</code>() is a NOP.</p>
<p class="Pp" id="fido_dev_force_fido2">The
    <a class="permalink" href="#fido_dev_force_fido2"><code class="Fn">fido_dev_force_fido2</code></a>()
    function can be used to force CTAP2 communication with
    <var class="Fa">dev</var>, where <var class="Fa">dev</var> is an open
    device.</p>
<p class="Pp" id="fido_dev_force_u2f">The
    <a class="permalink" href="#fido_dev_force_u2f"><code class="Fn">fido_dev_force_u2f</code></a>()
    function can be used to force CTAP1 (U2F) communication with
    <var class="Fa">dev</var>, where <var class="Fa">dev</var> is an open
    device.</p>
<p class="Pp" id="fido_dev_is_fido2">The
    <a class="permalink" href="#fido_dev_is_fido2"><code class="Fn">fido_dev_is_fido2</code></a>()
    function returns <code class="Dv">true</code> if <var class="Fa">dev</var>
    is a FIDO2 device.</p>
<p class="Pp" id="fido_dev_is_winhello">The
    <a class="permalink" href="#fido_dev_is_winhello"><code class="Fn">fido_dev_is_winhello</code></a>()
    function returns <code class="Dv">true</code> if <var class="Fa">dev</var>
    is a Windows Hello device.</p>
<p class="Pp" id="fido_dev_supports_credman">The
    <a class="permalink" href="#fido_dev_supports_credman"><code class="Fn">fido_dev_supports_credman</code></a>()
    function returns <code class="Dv">true</code> if <var class="Fa">dev</var>
    supports CTAP 2.1 Credential Management.</p>
<p class="Pp" id="fido_dev_supports_cred_prot">The
    <a class="permalink" href="#fido_dev_supports_cred_prot"><code class="Fn">fido_dev_supports_cred_prot</code></a>()
    function returns <code class="Dv">true</code> if <var class="Fa">dev</var>
    supports CTAP 2.1 Credential Protection.</p>
<p class="Pp" id="fido_dev_supports_permissions">The
    <a class="permalink" href="#fido_dev_supports_permissions"><code class="Fn">fido_dev_supports_permissions</code></a>()
    function returns <code class="Dv">true</code> if <var class="Fa">dev</var>
    supports CTAP 2.1 UV token permissions.</p>
<p class="Pp" id="fido_dev_supports_pin">The
    <a class="permalink" href="#fido_dev_supports_pin"><code class="Fn">fido_dev_supports_pin</code></a>()
    function returns <code class="Dv">true</code> if <var class="Fa">dev</var>
    supports CTAP 2.0 Client PINs.</p>
<p class="Pp" id="fido_dev_supports_uv">The
    <a class="permalink" href="#fido_dev_supports_uv"><code class="Fn">fido_dev_supports_uv</code></a>()
    function returns <code class="Dv">true</code> if <var class="Fa">dev</var>
    supports a built-in user verification method.</p>
<p class="Pp" id="fido_dev_has_pin">The
    <a class="permalink" href="#fido_dev_has_pin"><code class="Fn">fido_dev_has_pin</code></a>()
    function returns <code class="Dv">true</code> if <var class="Fa">dev</var>
    has a CTAP 2.0 Client PIN set.</p>
<p class="Pp" id="fido_dev_has_uv">The
    <a class="permalink" href="#fido_dev_has_uv"><code class="Fn">fido_dev_has_uv</code></a>()
    function returns <code class="Dv">true</code> if <var class="Fa">dev</var>
    supports built-in user verification and its user verification feature is
    configured.</p>
<p class="Pp" id="fido_dev_protocol">The
    <a class="permalink" href="#fido_dev_protocol"><code class="Fn">fido_dev_protocol</code></a>()
    function returns the CTAPHID protocol version identifier of
    <var class="Fa">dev</var>.</p>
<p class="Pp" id="fido_dev_build">The
    <a class="permalink" href="#fido_dev_build"><code class="Fn">fido_dev_build</code></a>()
    function returns the CTAPHID build version number of
    <var class="Fa">dev</var>.</p>
<p class="Pp" id="fido_dev_flags">The
    <a class="permalink" href="#fido_dev_flags"><code class="Fn">fido_dev_flags</code></a>()
    function returns the CTAPHID capabilities flags of
    <var class="Fa">dev</var>.</p>
<p class="Pp" id="fido_dev_major">The
    <a class="permalink" href="#fido_dev_major"><code class="Fn">fido_dev_major</code></a>()
    function returns the CTAPHID major version number of
    <var class="Fa">dev</var>.</p>
<p class="Pp" id="fido_dev_minor">The
    <a class="permalink" href="#fido_dev_minor"><code class="Fn">fido_dev_minor</code></a>()
    function returns the CTAPHID minor version number of
    <var class="Fa">dev</var>.</p>
<p class="Pp">For the format and meaning of the CTAPHID parameters returned by
    functions above, please refer to the FIDO Client to Authenticator Protocol
    (CTAP) specification.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="RETURN_VALUES"><a class="permalink" href="#RETURN_VALUES">RETURN
  VALUES</a></h1>
<p class="Pp">On success, <code class="Fn">fido_dev_open</code>(),
    <code class="Fn">fido_dev_open_with_info</code>(), and
    <code class="Fn">fido_dev_close</code>() return
    <code class="Dv">FIDO_OK</code>. On error, a different error code defined in
    <code class="In">&lt;<a class="In">fido/err.h</a>&gt;</code> is
  returned.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
  ALSO</a></h1>
<p class="Pp"><a class="Xr" href="fido_dev_info_manifest.html">fido_dev_info_manifest(3)</a>,
    <a class="Xr" href="fido_dev_set_io_functions.html">fido_dev_set_io_functions(3)</a>,
    <a class="Xr" href="fido_init.html">fido_init(3)</a></p>
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">May 25, 2018</td>
    <td class="foot-os">Yubico&#x00A0;AB</td>
  </tr>
</table>
</body>
</html>

Anon7 - 2021