## Coverage Report

#### Created: 2025-03-01 02:43

next uncovered line (L), next uncovered region (R), next uncovered branch (B)

    /libfido2/src/fido/err.h

    Line
    Count
    Source
    1
    /*
    2
     * Copyright (c) 2018 Yubico AB. All rights reserved.
    3
     * SPDX-License-Identifier: BSD-2-Clause
    4
     *
    5
     * Redistribution and use in source and binary forms, with or without
    6
     * modification, are permitted provided that the following conditions are
    7
     * met:
    8
     *
    9
     *    1. Redistributions of source code must retain the above copyright
    10
     *       notice, this list of conditions and the following disclaimer.
    11
     *    2. Redistributions in binary form must reproduce the above copyright
    12
     *       notice, this list of conditions and the following disclaimer in
    13
     *       the documentation and/or other materials provided with the
    14
     *       distribution.
    15
     *
    16
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    17
     * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    18
     * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    19
     * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    20
     * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    21
     * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    22
     * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    23
     * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    24
     * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    25
     * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    26
     * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    27
     */
    28
    29
    #ifndef _FIDO_ERR_H
    30
    #define _FIDO_ERR_H
    31
    32
    19.9M
    #define FIDO_ERR_SUCCESS                0x00
    33
    22.1k
    #define FIDO_ERR_INVALID_COMMAND        0x01
    34
    64
    #define FIDO_ERR_INVALID_PARAMETER      0x02
    35
    52
    #define FIDO_ERR_INVALID_LENGTH         0x03
    36
    57
    #define FIDO_ERR_INVALID_SEQ            0x04
    37
    54
    #define FIDO_ERR_TIMEOUT                0x05
    38
    47
    #define FIDO_ERR_CHANNEL_BUSY           0x06
    39
    47
    #define FIDO_ERR_LOCK_REQUIRED          0x0a
    40
    43
    #define FIDO_ERR_INVALID_CHANNEL        0x0b
    41
    46
    #define FIDO_ERR_CBOR_UNEXPECTED_TYPE   0x11
    42
    127
    #define FIDO_ERR_INVALID_CBOR           0x12
    43
    46
    #define FIDO_ERR_MISSING_PARAMETER      0x14
    44
    59
    #define FIDO_ERR_LIMIT_EXCEEDED         0x15
    45
    46
    #define FIDO_ERR_UNSUPPORTED_EXTENSION  0x16
    46
    50
    #define FIDO_ERR_FP_DATABASE_FULL       0x17
    47
    42
    #define FIDO_ERR_LARGEBLOB_STORAGE_FULL 0x18
    48
    2.70k
    #define FIDO_ERR_CREDENTIAL_EXCLUDED    0x19
    49
    38
    #define FIDO_ERR_PROCESSING             0x21
    50
    43
    #define FIDO_ERR_INVALID_CREDENTIAL     0x22
    51
    56
    #define FIDO_ERR_USER_ACTION_PENDING    0x23
    52
    46
    #define FIDO_ERR_OPERATION_PENDING      0x24
    53
    306
    #define FIDO_ERR_NO_OPERATIONS          0x25
    54
    43
    #define FIDO_ERR_UNSUPPORTED_ALGORITHM  0x26
    55
    43
    #define FIDO_ERR_OPERATION_DENIED       0x27
    56
    44
    #define FIDO_ERR_KEY_STORE_FULL         0x28
    57
    386
    #define FIDO_ERR_NOT_BUSY               0x29
    58
    41
    #define FIDO_ERR_NO_OPERATION_PENDING   0x2a
    59
    4.18k
    #define FIDO_ERR_UNSUPPORTED_OPTION     0x2b
    60
    46
    #define FIDO_ERR_INVALID_OPTION         0x2c
    61
    49
    #define FIDO_ERR_KEEPALIVE_CANCEL       0x2d
    62
    54
    #define FIDO_ERR_NO_CREDENTIALS         0x2e
    63
    41
    #define FIDO_ERR_USER_ACTION_TIMEOUT    0x2f
    64
    36
    #define FIDO_ERR_NOT_ALLOWED            0x30
    65
    69
    #define FIDO_ERR_PIN_INVALID            0x31
    66
    53
    #define FIDO_ERR_PIN_BLOCKED            0x32
    67
    42
    #define FIDO_ERR_PIN_AUTH_INVALID       0x33
    68
    38
    #define FIDO_ERR_PIN_AUTH_BLOCKED       0x34
    69
    53
    #define FIDO_ERR_PIN_NOT_SET            0x35
    70
    94
    #define FIDO_ERR_PIN_REQUIRED           0x36
    71
    134
    #define FIDO_ERR_PIN_POLICY_VIOLATION   0x37
    72
    52
    #define FIDO_ERR_PIN_TOKEN_EXPIRED      0x38
    73
    56
    #define FIDO_ERR_REQUEST_TOO_LARGE      0x39
    74
    35
    #define FIDO_ERR_ACTION_TIMEOUT         0x3a
    75
    44
    #define FIDO_ERR_UP_REQUIRED            0x3b
    76
    37
    #define FIDO_ERR_UV_BLOCKED             0x3c
    77
    34
    #define FIDO_ERR_UV_INVALID             0x3f
    78
    60
    #define FIDO_ERR_UNAUTHORIZED_PERM      0x40
    79
    30
    #define FIDO_ERR_ERR_OTHER              0x7f
    80
    51
    #define FIDO_ERR_SPEC_LAST              0xdf
    81
    82
    /* defined internally */
    83
    16.0M
    #define FIDO_OK                         FIDO_ERR_SUCCESS
    84
    30.4k
    #define FIDO_ERR_TX                     -1
    85
    748k
    #define FIDO_ERR_RX                     -2
    86
    11.4k
    #define FIDO_ERR_RX_NOT_CBOR            -3
    87
    44.6k
    #define FIDO_ERR_RX_INVALID_CBOR        -4
    88
    1.44k
    #define FIDO_ERR_INVALID_PARAM          -5
    89
    7.70k
    #define FIDO_ERR_INVALID_SIG            -6
    90
    1.53M
    #define FIDO_ERR_INVALID_ARGUMENT       -7
    91
    2.79k
    #define FIDO_ERR_USER_PRESENCE_REQUIRED -8
    92
    3.00M
    #define FIDO_ERR_INTERNAL               -9
    93
    4.01k
    #define FIDO_ERR_NOTFOUND               -10
    94
    44
    #define FIDO_ERR_COMPRESS               -11
    95
    96
    #ifdef __cplusplus
    97
    extern "C" {
    98
    #endif /* __cplusplus */
    99
    100
    const char *fido_strerr(int);
    101
    102
    #ifdef __cplusplus
    103
    } /* extern "C" */
    104
    #endif /* __cplusplus */
    105
    106
    #endif /* _FIDO_ERR_H */