1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
/*
* Copyright (c) 2018 Yubico AB. All rights reserved.
* SPDX-License-Identifier: BSD-2-Clause
*
* 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.
*/
#ifndef _FIDO_ERR_H
#define _FIDO_ERR_H
#define FIDO_ERR_SUCCESS 0x00
#define FIDO_ERR_INVALID_COMMAND 0x01
#define FIDO_ERR_INVALID_PARAMETER 0x02
#define FIDO_ERR_INVALID_LENGTH 0x03
#define FIDO_ERR_INVALID_SEQ 0x04
#define FIDO_ERR_TIMEOUT 0x05
#define FIDO_ERR_CHANNEL_BUSY 0x06
#define FIDO_ERR_LOCK_REQUIRED 0x0a
#define FIDO_ERR_INVALID_CHANNEL 0x0b
#define FIDO_ERR_CBOR_UNEXPECTED_TYPE 0x11
#define FIDO_ERR_INVALID_CBOR 0x12
#define FIDO_ERR_MISSING_PARAMETER 0x14
#define FIDO_ERR_LIMIT_EXCEEDED 0x15
#define FIDO_ERR_UNSUPPORTED_EXTENSION 0x16
#define FIDO_ERR_FP_DATABASE_FULL 0x17
#define FIDO_ERR_LARGEBLOB_STORAGE_FULL 0x18
#define FIDO_ERR_CREDENTIAL_EXCLUDED 0x19
#define FIDO_ERR_PROCESSING 0x21
#define FIDO_ERR_INVALID_CREDENTIAL 0x22
#define FIDO_ERR_USER_ACTION_PENDING 0x23
#define FIDO_ERR_OPERATION_PENDING 0x24
#define FIDO_ERR_NO_OPERATIONS 0x25
#define FIDO_ERR_UNSUPPORTED_ALGORITHM 0x26
#define FIDO_ERR_OPERATION_DENIED 0x27
#define FIDO_ERR_KEY_STORE_FULL 0x28
#define FIDO_ERR_NOT_BUSY 0x29
#define FIDO_ERR_NO_OPERATION_PENDING 0x2a
#define FIDO_ERR_UNSUPPORTED_OPTION 0x2b
#define FIDO_ERR_INVALID_OPTION 0x2c
#define FIDO_ERR_KEEPALIVE_CANCEL 0x2d
#define FIDO_ERR_NO_CREDENTIALS 0x2e
#define FIDO_ERR_USER_ACTION_TIMEOUT 0x2f
#define FIDO_ERR_NOT_ALLOWED 0x30
#define FIDO_ERR_PIN_INVALID 0x31
#define FIDO_ERR_PIN_BLOCKED 0x32
#define FIDO_ERR_PIN_AUTH_INVALID 0x33
#define FIDO_ERR_PIN_AUTH_BLOCKED 0x34
#define FIDO_ERR_PIN_NOT_SET 0x35
#define FIDO_ERR_PIN_REQUIRED 0x36
#define FIDO_ERR_PIN_POLICY_VIOLATION 0x37
#define FIDO_ERR_PIN_TOKEN_EXPIRED 0x38
#define FIDO_ERR_REQUEST_TOO_LARGE 0x39
#define FIDO_ERR_ACTION_TIMEOUT 0x3a
#define FIDO_ERR_UP_REQUIRED 0x3b
#define FIDO_ERR_UV_BLOCKED 0x3c
#define FIDO_ERR_UV_INVALID 0x3f
#define FIDO_ERR_UNAUTHORIZED_PERM 0x40
#define FIDO_ERR_ERR_OTHER 0x7f
#define FIDO_ERR_SPEC_LAST 0xdf
/* defined internally */
#define FIDO_OK FIDO_ERR_SUCCESS
#define FIDO_ERR_TX -1
#define FIDO_ERR_RX -2
#define FIDO_ERR_RX_NOT_CBOR -3
#define FIDO_ERR_RX_INVALID_CBOR -4
#define FIDO_ERR_INVALID_PARAM -5
#define FIDO_ERR_INVALID_SIG -6
#define FIDO_ERR_INVALID_ARGUMENT -7
#define FIDO_ERR_USER_PRESENCE_REQUIRED -8
#define FIDO_ERR_INTERNAL -9
#define FIDO_ERR_NOTFOUND -10
#define FIDO_ERR_COMPRESS -11
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
const char *fido_strerr(int);
#ifdef __cplusplus
} /* extern "C" */
#endif /* __cplusplus */
#endif /* _FIDO_ERR_H */
|