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_CREDENTIAL_EXCLUDED 0x19 25 #define FIDO_ERR_PROCESSING 0x21 26 #define FIDO_ERR_INVALID_CREDENTIAL 0x22 27 #define FIDO_ERR_USER_ACTION_PENDING 0x23 28 #define FIDO_ERR_OPERATION_PENDING 0x24 29 #define FIDO_ERR_NO_OPERATIONS 0x25 30 #define FIDO_ERR_UNSUPPORTED_ALGORITHM 0x26 31 #define FIDO_ERR_OPERATION_DENIED 0x27 32 #define FIDO_ERR_KEY_STORE_FULL 0x28 33 #define FIDO_ERR_NOT_BUSY 0x29 34 #define FIDO_ERR_NO_OPERATION_PENDING 0x2a 35 #define FIDO_ERR_UNSUPPORTED_OPTION 0x2b 36 #define FIDO_ERR_INVALID_OPTION 0x2c 37 #define FIDO_ERR_KEEPALIVE_CANCEL 0x2d 38 #define FIDO_ERR_NO_CREDENTIALS 0x2e 39 #define FIDO_ERR_USER_ACTION_TIMEOUT 0x2f 40 #define FIDO_ERR_NOT_ALLOWED 0x30 41 #define FIDO_ERR_PIN_INVALID 0x31 42 #define FIDO_ERR_PIN_BLOCKED 0x32 43 #define FIDO_ERR_PIN_AUTH_INVALID 0x33 44 #define FIDO_ERR_PIN_AUTH_BLOCKED 0x34 45 #define FIDO_ERR_PIN_NOT_SET 0x35 46 #define FIDO_ERR_PIN_REQUIRED 0x36 47 #define FIDO_ERR_PIN_POLICY_VIOLATION 0x37 48 #define FIDO_ERR_PIN_TOKEN_EXPIRED 0x38 49 #define FIDO_ERR_REQUEST_TOO_LARGE 0x39 50 #define FIDO_ERR_ACTION_TIMEOUT 0x3a 51 #define FIDO_ERR_UP_REQUIRED 0x3b 52 #define FIDO_ERR_ERR_OTHER 0x7f 53 #define FIDO_ERR_SPEC_LAST 0xdf 54 55 /* defined internally */ 56 #define FIDO_OK FIDO_ERR_SUCCESS 57 #define FIDO_ERR_TX -1 58 #define FIDO_ERR_RX -2 59 #define FIDO_ERR_RX_NOT_CBOR -3 60 #define FIDO_ERR_RX_INVALID_CBOR -4 61 #define FIDO_ERR_INVALID_PARAM -5 62 #define FIDO_ERR_INVALID_SIG -6 63 #define FIDO_ERR_INVALID_ARGUMENT -7 64 #define FIDO_ERR_USER_PRESENCE_REQUIRED -8 65 #define FIDO_ERR_INTERNAL -9 66 67 const char *fido_strerr(int); 68 69 #endif /* _FIDO_ERR_H */ 70