Home | History | Annotate | Line # | Download | only in src
      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  * SPDX-License-Identifier: BSD-2-Clause
      6  */
      7 
      8 #include "fido/err.h"
      9 
     10 const char *
     11 fido_strerr(int n)
     12 {
     13 	switch (n) {
     14 	case FIDO_ERR_SUCCESS:
     15 		return "FIDO_ERR_SUCCESS";
     16 	case FIDO_ERR_INVALID_COMMAND:
     17 		return "FIDO_ERR_INVALID_COMMAND";
     18 	case FIDO_ERR_INVALID_PARAMETER:
     19 		return "FIDO_ERR_INVALID_PARAMETER";
     20 	case FIDO_ERR_INVALID_LENGTH:
     21 		return "FIDO_ERR_INVALID_LENGTH";
     22 	case FIDO_ERR_INVALID_SEQ:
     23 		return "FIDO_ERR_INVALID_SEQ";
     24 	case FIDO_ERR_TIMEOUT:
     25 		return "FIDO_ERR_TIMEOUT";
     26 	case FIDO_ERR_CHANNEL_BUSY:
     27 		return "FIDO_ERR_CHANNEL_BUSY";
     28 	case FIDO_ERR_LOCK_REQUIRED:
     29 		return "FIDO_ERR_LOCK_REQUIRED";
     30 	case FIDO_ERR_INVALID_CHANNEL:
     31 		return "FIDO_ERR_INVALID_CHANNEL";
     32 	case FIDO_ERR_CBOR_UNEXPECTED_TYPE:
     33 		return "FIDO_ERR_CBOR_UNEXPECTED_TYPE";
     34 	case FIDO_ERR_INVALID_CBOR:
     35 		return "FIDO_ERR_INVALID_CBOR";
     36 	case FIDO_ERR_MISSING_PARAMETER:
     37 		return "FIDO_ERR_MISSING_PARAMETER";
     38 	case FIDO_ERR_LIMIT_EXCEEDED:
     39 		return "FIDO_ERR_LIMIT_EXCEEDED";
     40 	case FIDO_ERR_UNSUPPORTED_EXTENSION:
     41 		return "FIDO_ERR_UNSUPPORTED_EXTENSION";
     42 	case FIDO_ERR_FP_DATABASE_FULL:
     43 		return "FIDO_ERR_FP_DATABASE_FULL";
     44 	case FIDO_ERR_LARGEBLOB_STORAGE_FULL:
     45 		return "FIDO_ERR_LARGEBLOB_STORAGE_FULL";
     46 	case FIDO_ERR_CREDENTIAL_EXCLUDED:
     47 		return "FIDO_ERR_CREDENTIAL_EXCLUDED";
     48 	case FIDO_ERR_PROCESSING:
     49 		return "FIDO_ERR_PROCESSING";
     50 	case FIDO_ERR_INVALID_CREDENTIAL:
     51 		return "FIDO_ERR_INVALID_CREDENTIAL";
     52 	case FIDO_ERR_USER_ACTION_PENDING:
     53 		return "FIDO_ERR_USER_ACTION_PENDING";
     54 	case FIDO_ERR_OPERATION_PENDING:
     55 		return "FIDO_ERR_OPERATION_PENDING";
     56 	case FIDO_ERR_NO_OPERATIONS:
     57 		return "FIDO_ERR_NO_OPERATIONS";
     58 	case FIDO_ERR_UNSUPPORTED_ALGORITHM:
     59 		return "FIDO_ERR_UNSUPPORTED_ALGORITHM";
     60 	case FIDO_ERR_OPERATION_DENIED:
     61 		return "FIDO_ERR_OPERATION_DENIED";
     62 	case FIDO_ERR_KEY_STORE_FULL:
     63 		return "FIDO_ERR_KEY_STORE_FULL";
     64 	case FIDO_ERR_NOT_BUSY:
     65 		return "FIDO_ERR_NOT_BUSY";
     66 	case FIDO_ERR_NO_OPERATION_PENDING:
     67 		return "FIDO_ERR_NO_OPERATION_PENDING";
     68 	case FIDO_ERR_UNSUPPORTED_OPTION:
     69 		return "FIDO_ERR_UNSUPPORTED_OPTION";
     70 	case FIDO_ERR_INVALID_OPTION:
     71 		return "FIDO_ERR_INVALID_OPTION";
     72 	case FIDO_ERR_KEEPALIVE_CANCEL:
     73 		return "FIDO_ERR_KEEPALIVE_CANCEL";
     74 	case FIDO_ERR_NO_CREDENTIALS:
     75 		return "FIDO_ERR_NO_CREDENTIALS";
     76 	case FIDO_ERR_USER_ACTION_TIMEOUT:
     77 		return "FIDO_ERR_USER_ACTION_TIMEOUT";
     78 	case FIDO_ERR_NOT_ALLOWED:
     79 		return "FIDO_ERR_NOT_ALLOWED";
     80 	case FIDO_ERR_PIN_INVALID:
     81 		return "FIDO_ERR_PIN_INVALID";
     82 	case FIDO_ERR_PIN_BLOCKED:
     83 		return "FIDO_ERR_PIN_BLOCKED";
     84 	case FIDO_ERR_PIN_AUTH_INVALID:
     85 		return "FIDO_ERR_PIN_AUTH_INVALID";
     86 	case FIDO_ERR_PIN_AUTH_BLOCKED:
     87 		return "FIDO_ERR_PIN_AUTH_BLOCKED";
     88 	case FIDO_ERR_PIN_NOT_SET:
     89 		return "FIDO_ERR_PIN_NOT_SET";
     90 	case FIDO_ERR_PIN_REQUIRED:
     91 		return "FIDO_ERR_PIN_REQUIRED";
     92 	case FIDO_ERR_PIN_POLICY_VIOLATION:
     93 		return "FIDO_ERR_PIN_POLICY_VIOLATION";
     94 	case FIDO_ERR_PIN_TOKEN_EXPIRED:
     95 		return "FIDO_ERR_PIN_TOKEN_EXPIRED";
     96 	case FIDO_ERR_REQUEST_TOO_LARGE:
     97 		return "FIDO_ERR_REQUEST_TOO_LARGE";
     98 	case FIDO_ERR_ACTION_TIMEOUT:
     99 		return "FIDO_ERR_ACTION_TIMEOUT";
    100 	case FIDO_ERR_UP_REQUIRED:
    101 		return "FIDO_ERR_UP_REQUIRED";
    102 	case FIDO_ERR_UV_BLOCKED:
    103 		return "FIDO_ERR_UV_BLOCKED";
    104 	case FIDO_ERR_UV_INVALID:
    105 		return "FIDO_ERR_UV_INVALID";
    106 	case FIDO_ERR_UNAUTHORIZED_PERM:
    107 		return "FIDO_ERR_UNAUTHORIZED_PERM";
    108 	case FIDO_ERR_ERR_OTHER:
    109 		return "FIDO_ERR_ERR_OTHER";
    110 	case FIDO_ERR_SPEC_LAST:
    111 		return "FIDO_ERR_SPEC_LAST";
    112 	case FIDO_ERR_TX:
    113 		return "FIDO_ERR_TX";
    114 	case FIDO_ERR_RX:
    115 		return "FIDO_ERR_RX";
    116 	case FIDO_ERR_RX_NOT_CBOR:
    117 		return "FIDO_ERR_RX_NOT_CBOR";
    118 	case FIDO_ERR_RX_INVALID_CBOR:
    119 		return "FIDO_ERR_RX_INVALID_CBOR";
    120 	case FIDO_ERR_INVALID_PARAM:
    121 		return "FIDO_ERR_INVALID_PARAM";
    122 	case FIDO_ERR_INVALID_SIG:
    123 		return "FIDO_ERR_INVALID_SIG";
    124 	case FIDO_ERR_INVALID_ARGUMENT:
    125 		return "FIDO_ERR_INVALID_ARGUMENT";
    126 	case FIDO_ERR_USER_PRESENCE_REQUIRED:
    127 		return "FIDO_ERR_USER_PRESENCE_REQUIRED";
    128 	case FIDO_ERR_NOTFOUND:
    129 		return "FIDO_ERR_NOTFOUND";
    130 	case FIDO_ERR_COMPRESS:
    131 		return "FIDO_ERR_COMPRESS";
    132 	case FIDO_ERR_INTERNAL:
    133 		return "FIDO_ERR_INTERNAL";
    134 	default:
    135 		return "FIDO_ERR_UNKNOWN";
    136 	}
    137 }
    138