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 | 20.5M | #define FIDO_ERR_SUCCESS 0x00 |
33 | 20.2k | #define FIDO_ERR_INVALID_COMMAND 0x01 |
34 | 122 | #define FIDO_ERR_INVALID_PARAMETER 0x02 |
35 | 52 | #define FIDO_ERR_INVALID_LENGTH 0x03 |
36 | 62 | #define FIDO_ERR_INVALID_SEQ 0x04 |
37 | 1.64k | #define FIDO_ERR_TIMEOUT 0x05 |
38 | 48 | #define FIDO_ERR_CHANNEL_BUSY 0x06 |
39 | 50 | #define FIDO_ERR_LOCK_REQUIRED 0x0a |
40 | 48 | #define FIDO_ERR_INVALID_CHANNEL 0x0b |
41 | 54 | #define FIDO_ERR_CBOR_UNEXPECTED_TYPE 0x11 |
42 | 70 | #define FIDO_ERR_INVALID_CBOR 0x12 |
43 | 47 | #define FIDO_ERR_MISSING_PARAMETER 0x14 |
44 | 59 | #define FIDO_ERR_LIMIT_EXCEEDED 0x15 |
45 | 53 | #define FIDO_ERR_UNSUPPORTED_EXTENSION 0x16 |
46 | 46 | #define FIDO_ERR_FP_DATABASE_FULL 0x17 |
47 | 40 | #define FIDO_ERR_LARGEBLOB_STORAGE_FULL 0x18 |
48 | 4.39k | #define FIDO_ERR_CREDENTIAL_EXCLUDED 0x19 |
49 | 38 | #define FIDO_ERR_PROCESSING 0x21 |
50 | 46 | #define FIDO_ERR_INVALID_CREDENTIAL 0x22 |
51 | 58 | #define FIDO_ERR_USER_ACTION_PENDING 0x23 |
52 | 45 | #define FIDO_ERR_OPERATION_PENDING 0x24 |
53 | 310 | #define FIDO_ERR_NO_OPERATIONS 0x25 |
54 | 52 | #define FIDO_ERR_UNSUPPORTED_ALGORITHM 0x26 |
55 | 44 | #define FIDO_ERR_OPERATION_DENIED 0x27 |
56 | 44 | #define FIDO_ERR_KEY_STORE_FULL 0x28 |
57 | 402 | #define FIDO_ERR_NOT_BUSY 0x29 |
58 | 45 | #define FIDO_ERR_NO_OPERATION_PENDING 0x2a |
59 | 13.3k | #define FIDO_ERR_UNSUPPORTED_OPTION 0x2b |
60 | 44 | #define FIDO_ERR_INVALID_OPTION 0x2c |
61 | 66 | #define FIDO_ERR_KEEPALIVE_CANCEL 0x2d |
62 | 56 | #define FIDO_ERR_NO_CREDENTIALS 0x2e |
63 | 41 | #define FIDO_ERR_USER_ACTION_TIMEOUT 0x2f |
64 | 36 | #define FIDO_ERR_NOT_ALLOWED 0x30 |
65 | 48 | #define FIDO_ERR_PIN_INVALID 0x31 |
66 | 55 | #define FIDO_ERR_PIN_BLOCKED 0x32 |
67 | 41 | #define FIDO_ERR_PIN_AUTH_INVALID 0x33 |
68 | 44 | #define FIDO_ERR_PIN_AUTH_BLOCKED 0x34 |
69 | 53 | #define FIDO_ERR_PIN_NOT_SET 0x35 |
70 | 1.84k | #define FIDO_ERR_PIN_REQUIRED 0x36 |
71 | 206 | #define FIDO_ERR_PIN_POLICY_VIOLATION 0x37 |
72 | 49 | #define FIDO_ERR_PIN_TOKEN_EXPIRED 0x38 |
73 | 57 | #define FIDO_ERR_REQUEST_TOO_LARGE 0x39 |
74 | 40 | #define FIDO_ERR_ACTION_TIMEOUT 0x3a |
75 | 44 | #define FIDO_ERR_UP_REQUIRED 0x3b |
76 | 37 | #define FIDO_ERR_UV_BLOCKED 0x3c |
77 | 33 | #define FIDO_ERR_UV_INVALID 0x3f |
78 | 56 | #define FIDO_ERR_UNAUTHORIZED_PERM 0x40 |
79 | 35 | #define FIDO_ERR_ERR_OTHER 0x7f |
80 | 54 | #define FIDO_ERR_SPEC_LAST 0xdf |
81 | | |
82 | | /* defined internally */ |
83 | 17.0M | #define FIDO_OK FIDO_ERR_SUCCESS |
84 | 24.8k | #define FIDO_ERR_TX -1 |
85 | 576k | #define FIDO_ERR_RX -2 |
86 | 8.48k | #define FIDO_ERR_RX_NOT_CBOR -3 |
87 | 31.5k | #define FIDO_ERR_RX_INVALID_CBOR -4 |
88 | 3.14k | #define FIDO_ERR_INVALID_PARAM -5 |
89 | 9.36k | #define FIDO_ERR_INVALID_SIG -6 |
90 | 3.07M | #define FIDO_ERR_INVALID_ARGUMENT -7 |
91 | 2.63k | #define FIDO_ERR_USER_PRESENCE_REQUIRED -8 |
92 | 2.88M | #define FIDO_ERR_INTERNAL -9 |
93 | 4.21k | #define FIDO_ERR_NOTFOUND -10 |
94 | 26 | #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 */ |