1d75efeb7Sdjm /* 2d75efeb7Sdjm * Copyright (c) 2018 Yubico AB. All rights reserved. 3d75efeb7Sdjm * Use of this source code is governed by a BSD-style 4d75efeb7Sdjm * license that can be found in the LICENSE file. 5d75efeb7Sdjm */ 6d75efeb7Sdjm 7d75efeb7Sdjm #include "fido/err.h" 8d75efeb7Sdjm 9d75efeb7Sdjm const char * fido_strerr(int n)10d75efeb7Sdjmfido_strerr(int n) 11d75efeb7Sdjm { 12d75efeb7Sdjm switch (n) { 13d75efeb7Sdjm case FIDO_ERR_SUCCESS: 14d75efeb7Sdjm return "FIDO_ERR_SUCCESS"; 15d75efeb7Sdjm case FIDO_ERR_INVALID_COMMAND: 16d75efeb7Sdjm return "FIDO_ERR_INVALID_COMMAND"; 17d75efeb7Sdjm case FIDO_ERR_INVALID_PARAMETER: 18d75efeb7Sdjm return "FIDO_ERR_INVALID_PARAMETER"; 19d75efeb7Sdjm case FIDO_ERR_INVALID_LENGTH: 20d75efeb7Sdjm return "FIDO_ERR_INVALID_LENGTH"; 21d75efeb7Sdjm case FIDO_ERR_INVALID_SEQ: 22d75efeb7Sdjm return "FIDO_ERR_INVALID_SEQ"; 23d75efeb7Sdjm case FIDO_ERR_TIMEOUT: 24d75efeb7Sdjm return "FIDO_ERR_TIMEOUT"; 25d75efeb7Sdjm case FIDO_ERR_CHANNEL_BUSY: 26d75efeb7Sdjm return "FIDO_ERR_CHANNEL_BUSY"; 27d75efeb7Sdjm case FIDO_ERR_LOCK_REQUIRED: 28d75efeb7Sdjm return "FIDO_ERR_LOCK_REQUIRED"; 29d75efeb7Sdjm case FIDO_ERR_INVALID_CHANNEL: 30d75efeb7Sdjm return "FIDO_ERR_INVALID_CHANNEL"; 31d75efeb7Sdjm case FIDO_ERR_CBOR_UNEXPECTED_TYPE: 3232a20e26Sdjm return "FIDO_ERR_CBOR_UNEXPECTED_TYPE"; 33d75efeb7Sdjm case FIDO_ERR_INVALID_CBOR: 34d75efeb7Sdjm return "FIDO_ERR_INVALID_CBOR"; 35d75efeb7Sdjm case FIDO_ERR_MISSING_PARAMETER: 36d75efeb7Sdjm return "FIDO_ERR_MISSING_PARAMETER"; 37d75efeb7Sdjm case FIDO_ERR_LIMIT_EXCEEDED: 38d75efeb7Sdjm return "FIDO_ERR_LIMIT_EXCEEDED"; 39d75efeb7Sdjm case FIDO_ERR_UNSUPPORTED_EXTENSION: 40d75efeb7Sdjm return "FIDO_ERR_UNSUPPORTED_EXTENSION"; 41739189a3Sdjm case FIDO_ERR_FP_DATABASE_FULL: 42739189a3Sdjm return "FIDO_ERR_FP_DATABASE_FULL"; 43*c4a807edSdjm case FIDO_ERR_LARGEBLOB_STORAGE_FULL: 44*c4a807edSdjm return "FIDO_ERR_LARGEBLOB_STORAGE_FULL"; 45d75efeb7Sdjm case FIDO_ERR_CREDENTIAL_EXCLUDED: 46d75efeb7Sdjm return "FIDO_ERR_CREDENTIAL_EXCLUDED"; 47d75efeb7Sdjm case FIDO_ERR_PROCESSING: 48d75efeb7Sdjm return "FIDO_ERR_PROCESSING"; 49d75efeb7Sdjm case FIDO_ERR_INVALID_CREDENTIAL: 50d75efeb7Sdjm return "FIDO_ERR_INVALID_CREDENTIAL"; 51d75efeb7Sdjm case FIDO_ERR_USER_ACTION_PENDING: 5232a20e26Sdjm return "FIDO_ERR_USER_ACTION_PENDING"; 53d75efeb7Sdjm case FIDO_ERR_OPERATION_PENDING: 54d75efeb7Sdjm return "FIDO_ERR_OPERATION_PENDING"; 55d75efeb7Sdjm case FIDO_ERR_NO_OPERATIONS: 56d75efeb7Sdjm return "FIDO_ERR_NO_OPERATIONS"; 57d75efeb7Sdjm case FIDO_ERR_UNSUPPORTED_ALGORITHM: 58d75efeb7Sdjm return "FIDO_ERR_UNSUPPORTED_ALGORITHM"; 59d75efeb7Sdjm case FIDO_ERR_OPERATION_DENIED: 60d75efeb7Sdjm return "FIDO_ERR_OPERATION_DENIED"; 61d75efeb7Sdjm case FIDO_ERR_KEY_STORE_FULL: 6232a20e26Sdjm return "FIDO_ERR_KEY_STORE_FULL"; 63d75efeb7Sdjm case FIDO_ERR_NOT_BUSY: 64d75efeb7Sdjm return "FIDO_ERR_NOT_BUSY"; 65d75efeb7Sdjm case FIDO_ERR_NO_OPERATION_PENDING: 6632a20e26Sdjm return "FIDO_ERR_NO_OPERATION_PENDING"; 67d75efeb7Sdjm case FIDO_ERR_UNSUPPORTED_OPTION: 68d75efeb7Sdjm return "FIDO_ERR_UNSUPPORTED_OPTION"; 69d75efeb7Sdjm case FIDO_ERR_INVALID_OPTION: 70d75efeb7Sdjm return "FIDO_ERR_INVALID_OPTION"; 71d75efeb7Sdjm case FIDO_ERR_KEEPALIVE_CANCEL: 72d75efeb7Sdjm return "FIDO_ERR_KEEPALIVE_CANCEL"; 73d75efeb7Sdjm case FIDO_ERR_NO_CREDENTIALS: 74d75efeb7Sdjm return "FIDO_ERR_NO_CREDENTIALS"; 75d75efeb7Sdjm case FIDO_ERR_USER_ACTION_TIMEOUT: 7632a20e26Sdjm return "FIDO_ERR_USER_ACTION_TIMEOUT"; 77d75efeb7Sdjm case FIDO_ERR_NOT_ALLOWED: 78d75efeb7Sdjm return "FIDO_ERR_NOT_ALLOWED"; 79d75efeb7Sdjm case FIDO_ERR_PIN_INVALID: 80d75efeb7Sdjm return "FIDO_ERR_PIN_INVALID"; 81d75efeb7Sdjm case FIDO_ERR_PIN_BLOCKED: 82d75efeb7Sdjm return "FIDO_ERR_PIN_BLOCKED"; 83d75efeb7Sdjm case FIDO_ERR_PIN_AUTH_INVALID: 8432a20e26Sdjm return "FIDO_ERR_PIN_AUTH_INVALID"; 85d75efeb7Sdjm case FIDO_ERR_PIN_AUTH_BLOCKED: 8632a20e26Sdjm return "FIDO_ERR_PIN_AUTH_BLOCKED"; 87d75efeb7Sdjm case FIDO_ERR_PIN_NOT_SET: 8832a20e26Sdjm return "FIDO_ERR_PIN_NOT_SET"; 89d75efeb7Sdjm case FIDO_ERR_PIN_REQUIRED: 90d75efeb7Sdjm return "FIDO_ERR_PIN_REQUIRED"; 91d75efeb7Sdjm case FIDO_ERR_PIN_POLICY_VIOLATION: 9232a20e26Sdjm return "FIDO_ERR_PIN_POLICY_VIOLATION"; 93d75efeb7Sdjm case FIDO_ERR_PIN_TOKEN_EXPIRED: 9432a20e26Sdjm return "FIDO_ERR_PIN_TOKEN_EXPIRED"; 95d75efeb7Sdjm case FIDO_ERR_REQUEST_TOO_LARGE: 9632a20e26Sdjm return "FIDO_ERR_REQUEST_TOO_LARGE"; 97d75efeb7Sdjm case FIDO_ERR_ACTION_TIMEOUT: 98d75efeb7Sdjm return "FIDO_ERR_ACTION_TIMEOUT"; 99d75efeb7Sdjm case FIDO_ERR_UP_REQUIRED: 100d75efeb7Sdjm return "FIDO_ERR_UP_REQUIRED"; 101739189a3Sdjm case FIDO_ERR_UV_BLOCKED: 102739189a3Sdjm return "FIDO_ERR_UV_BLOCKED"; 103*c4a807edSdjm case FIDO_ERR_UV_INVALID: 104*c4a807edSdjm return "FIDO_ERR_UV_INVALID"; 105*c4a807edSdjm case FIDO_ERR_UNAUTHORIZED_PERM: 106*c4a807edSdjm return "FIDO_ERR_UNAUTHORIZED_PERM"; 107d75efeb7Sdjm case FIDO_ERR_ERR_OTHER: 10832a20e26Sdjm return "FIDO_ERR_ERR_OTHER"; 109d75efeb7Sdjm case FIDO_ERR_SPEC_LAST: 110d75efeb7Sdjm return "FIDO_ERR_SPEC_LAST"; 111d75efeb7Sdjm case FIDO_ERR_TX: 112d75efeb7Sdjm return "FIDO_ERR_TX"; 113d75efeb7Sdjm case FIDO_ERR_RX: 114d75efeb7Sdjm return "FIDO_ERR_RX"; 115d75efeb7Sdjm case FIDO_ERR_RX_NOT_CBOR: 116d75efeb7Sdjm return "FIDO_ERR_RX_NOT_CBOR"; 117d75efeb7Sdjm case FIDO_ERR_RX_INVALID_CBOR: 118d75efeb7Sdjm return "FIDO_ERR_RX_INVALID_CBOR"; 119d75efeb7Sdjm case FIDO_ERR_INVALID_PARAM: 120d75efeb7Sdjm return "FIDO_ERR_INVALID_PARAM"; 121d75efeb7Sdjm case FIDO_ERR_INVALID_SIG: 122d75efeb7Sdjm return "FIDO_ERR_INVALID_SIG"; 123d75efeb7Sdjm case FIDO_ERR_INVALID_ARGUMENT: 124d75efeb7Sdjm return "FIDO_ERR_INVALID_ARGUMENT"; 125d75efeb7Sdjm case FIDO_ERR_USER_PRESENCE_REQUIRED: 126d75efeb7Sdjm return "FIDO_ERR_USER_PRESENCE_REQUIRED"; 127*c4a807edSdjm case FIDO_ERR_NOTFOUND: 128*c4a807edSdjm return "FIDO_ERR_NOTFOUND"; 129*c4a807edSdjm case FIDO_ERR_COMPRESS: 130*c4a807edSdjm return "FIDO_ERR_COMPRESS"; 131d75efeb7Sdjm case FIDO_ERR_INTERNAL: 132d75efeb7Sdjm return "FIDO_ERR_INTERNAL"; 133d75efeb7Sdjm default: 134d75efeb7Sdjm return "FIDO_ERR_UNKNOWN"; 135d75efeb7Sdjm } 136d75efeb7Sdjm } 137