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