Documentation and error code improvements for spiffy decode
diff --git a/src/qcbor_decode.c b/src/qcbor_decode.c
index 16ffa2a..d54627a 100644
--- a/src/qcbor_decode.c
+++ b/src/qcbor_decode.c
@@ -1890,6 +1890,7 @@
    QCBORError uErr = QCBORDecode_GetNext(pMe, pDecodedItem);
 
    UsefulInputBuf_Seek(&(pMe->InBuf), uOffset);
+   // TODO: undo the level tracking (or don't do it)
 
    return uErr;
 }
@@ -3509,21 +3510,21 @@
 /*
 Convert a integers and floats to an int64_t.
 
-\param[in] uOptions  Bit mask list of conversion options.
+\param[in] uConvertTypes  Bit mask list of conversion options.
 
-\retval QCBOR_ERR_CONVERSION_NOT_REQUESTED  Conversion, possible, but not requested in uOptions.
+\retval QCBOR_ERR_UNEXPECTED_TYPE  Conversion, possible, but not requested in uConvertTypes.
 
 \retval QCBOR_ERR_UNEXPECTED_TYPE  Of a type that can't be converted
 
 \retval QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW Conversion result is too large or too small.
 
 */
-static QCBORError ConvertInt64(const QCBORItem *pItem, uint32_t uOptions, int64_t *pnValue)
+static QCBORError ConvertInt64(const QCBORItem *pItem, uint32_t uConvertTypes, int64_t *pnValue)
 {
    switch(pItem->uDataType) {
       // TODO: float when ifdefs are set
       case QCBOR_TYPE_DOUBLE:
-         if(uOptions & QCBOR_CONVERT_TYPE_FLOAT) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_FLOAT) {
             // TODO: what about under/overflow here?
             // Invokes the floating-point HW and/or compiler-added libraries
             feclearexcept(FE_ALL_EXCEPT);
@@ -3533,27 +3534,27 @@
                return QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW;
             }
          } else {
-            return  QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return  QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_INT64:
-         if(uOptions & QCBOR_CONVERT_TYPE_XINT64) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_XINT64) {
             *pnValue = pItem->val.int64;
          } else {
-            return  QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return  QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_UINT64:
-         if(uOptions & QCBOR_CONVERT_TYPE_XINT64) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_XINT64) {
             if(pItem->val.uint64 < INT64_MAX) {
                *pnValue = pItem->val.int64;
             } else {
                return QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW;
             }
          } else {
-            return  QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return  QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
@@ -3565,7 +3566,7 @@
 
 
 void QCBORDecode_GetInt64ConvertInternal(QCBORDecodeContext *pMe,
-                                         uint32_t            uOptions,
+                                         uint32_t            uConvertTypes,
                                          int64_t            *pnValue,
                                          QCBORItem          *pItem)
 {
@@ -3584,13 +3585,13 @@
       *pItem = Item;
    }
 
-   pMe->uLastError = (uint8_t)ConvertInt64(&Item, uOptions, pnValue);
+   pMe->uLastError = (uint8_t)ConvertInt64(&Item, uConvertTypes, pnValue);
 }
 
 
 void QCBORDecode_GetInt64ConvertInternalInMapN(QCBORDecodeContext *pMe,
                                                int64_t             nLabel,
-                                               uint32_t            uOptions,
+                                               uint32_t            uConvertTypes,
                                                int64_t            *pnValue,
                                                QCBORItem          *pItem)
 {
@@ -3599,13 +3600,13 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)ConvertInt64(pItem, uOptions, pnValue);
+   pMe->uLastError = (uint8_t)ConvertInt64(pItem, uConvertTypes, pnValue);
 }
 
 
 void QCBORDecode_GetInt64ConvertInternalInMapSZ(QCBORDecodeContext *pMe,
                                                const char *         szLabel,
-                                               uint32_t             uOptions,
+                                               uint32_t             uConvertTypes,
                                                int64_t             *pnValue,
                                                QCBORItem           *pItem)
 {
@@ -3618,7 +3619,7 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)ConvertInt64(pItem, uOptions, pnValue);
+   pMe->uLastError = (uint8_t)ConvertInt64(pItem, uConvertTypes, pnValue);
 }
 
 
@@ -3626,62 +3627,62 @@
 /*
  Convert a large variety of integer types to an int64_t.
 
- \param[in] uOptions  Bit mask list of conversion options.
+ \param[in] uConvertTypes  Bit mask list of conversion options.
 
- \retval QCBOR_ERR_CONVERSION_NOT_REQUESTED  Conversion, possible, but not requested in uOptions.
+ \retval QCBOR_ERR_UNEXPECTED_TYPE  Conversion, possible, but not requested in uConvertTypes.
 
  \retval QCBOR_ERR_UNEXPECTED_TYPE  Of a type that can't be converted
 
  \retval QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW Conversion result is too large or too small.
 
  */
-static QCBORError Int64ConvertAll(const QCBORItem *pItem, uint32_t uOptions, int64_t *pnValue)
+static QCBORError Int64ConvertAll(const QCBORItem *pItem, uint32_t uConvertTypes, int64_t *pnValue)
 {
    QCBORError uErr;
 
    switch(pItem->uDataType) {
 
       case QCBOR_TYPE_POSBIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_BIG_NUM) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_BIG_NUM) {
             return ConvertPositiveBigNumToSigned(pItem->val.bigNum, pnValue);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
          case QCBOR_TYPE_NEGBIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_BIG_NUM) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_BIG_NUM) {
             return ConvertNegativeBigNumToSigned(pItem->val.bigNum, pnValue);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
 #ifndef QCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA
       case QCBOR_TYPE_DECIMAL_FRACTION:
-         if(uOptions & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
             return ExponentiateNN(pItem->val.expAndMantissa.Mantissa.nInt,
                                                       pItem->val.expAndMantissa.nExponent,
                                                       pnValue,
                                                       &Exponentitate10);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
          case QCBOR_TYPE_BIGFLOAT:
-         if(uOptions & QCBOR_CONVERT_TYPE_BIGFLOAT) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_BIGFLOAT) {
             return ExponentiateNN(pItem->val.expAndMantissa.Mantissa.nInt,
                                                       pItem->val.expAndMantissa.nExponent,
                                                       pnValue,
                                                       Exponentitate2);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_DECIMAL_FRACTION_POS_BIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
             int64_t nMantissa;
             uErr = ConvertPositiveBigNumToSigned(pItem->val.expAndMantissa.Mantissa.bigNum, &nMantissa);
             if(uErr) {
@@ -3692,12 +3693,12 @@
                                   pnValue,
                                   Exponentitate10);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_DECIMAL_FRACTION_NEG_BIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
             int64_t nMantissa;
             uErr = ConvertNegativeBigNumToSigned(pItem->val.expAndMantissa.Mantissa.bigNum, &nMantissa);
             if(uErr) {
@@ -3708,12 +3709,12 @@
                                   pnValue,
                                   Exponentitate10);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_BIGFLOAT_POS_BIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
             int64_t nMantissa;
             uErr = ConvertPositiveBigNumToSigned(pItem->val.expAndMantissa.Mantissa.bigNum, &nMantissa);
             if(uErr) {
@@ -3724,12 +3725,12 @@
                                   pnValue,
                                   Exponentitate2);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_BIGFLOAT_NEG_BIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
             int64_t nMantissa;
             uErr = ConvertNegativeBigNumToSigned(pItem->val.expAndMantissa.Mantissa.bigNum, &nMantissa);
             if(uErr) {
@@ -3740,7 +3741,7 @@
                                   pnValue,
                                   Exponentitate2);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
@@ -3754,11 +3755,11 @@
 /*
  Public function, see header qcbor/qcbor_decode.h file
  */
-void QCBORDecode_GetInt64ConvertAll(QCBORDecodeContext *pMe, uint32_t uOptions, int64_t *pnValue)
+void QCBORDecode_GetInt64ConvertAll(QCBORDecodeContext *pMe, uint32_t uConvertTypes, int64_t *pnValue)
 {
    QCBORItem Item;
 
-   QCBORDecode_GetInt64ConvertInternal(pMe, uOptions, pnValue, &Item);
+   QCBORDecode_GetInt64ConvertInternal(pMe, uConvertTypes, pnValue, &Item);
 
    if(pMe->uLastError == QCBOR_SUCCESS) {
       // The above conversion succeeded
@@ -3770,18 +3771,18 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)Int64ConvertAll(&Item, uOptions, pnValue);
+   pMe->uLastError = (uint8_t)Int64ConvertAll(&Item, uConvertTypes, pnValue);
 }
 
 
 /*
 Public function, see header qcbor/qcbor_decode.h file
 */
-void QCBORDecode_GetInt64ConvertAllInMapN(QCBORDecodeContext *pMe, int64_t nLabel, uint32_t uOptions, int64_t *pnValue)
+void QCBORDecode_GetInt64ConvertAllInMapN(QCBORDecodeContext *pMe, int64_t nLabel, uint32_t uConvertTypes, int64_t *pnValue)
 {
    QCBORItem Item;
 
-   QCBORDecode_GetInt64ConvertInternalInMapN(pMe, nLabel, uOptions, pnValue, &Item);
+   QCBORDecode_GetInt64ConvertInternalInMapN(pMe, nLabel, uConvertTypes, pnValue, &Item);
 
    if(pMe->uLastError == QCBOR_SUCCESS) {
       // The above conversion succeeded
@@ -3793,17 +3794,17 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)Int64ConvertAll(&Item, uOptions, pnValue);
+   pMe->uLastError = (uint8_t)Int64ConvertAll(&Item, uConvertTypes, pnValue);
 }
 
 
 /*
 Public function, see header qcbor/qcbor_decode.h file
 */
-void QCBORDecode_GetInt64ConvertAllInMapSZ(QCBORDecodeContext *pMe, const char *szLabel, uint32_t uOptions, int64_t *pnValue)
+void QCBORDecode_GetInt64ConvertAllInMapSZ(QCBORDecodeContext *pMe, const char *szLabel, uint32_t uConvertTypes, int64_t *pnValue)
 {
    QCBORItem Item;
-   QCBORDecode_GetInt64ConvertInternalInMapSZ(pMe, szLabel, uOptions, pnValue, &Item);
+   QCBORDecode_GetInt64ConvertInternalInMapSZ(pMe, szLabel, uConvertTypes, pnValue, &Item);
 
    if(pMe->uLastError == QCBOR_SUCCESS) {
       // The above conversion succeeded
@@ -3815,16 +3816,16 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)Int64ConvertAll(&Item, uOptions, pnValue);
+   pMe->uLastError = (uint8_t)Int64ConvertAll(&Item, uConvertTypes, pnValue);
 }
 
 
-static QCBORError ConvertUint64(const QCBORItem *pItem, uint32_t uOptions, uint64_t *puValue)
+static QCBORError ConvertUint64(const QCBORItem *pItem, uint32_t uConvertTypes, uint64_t *puValue)
 {
    switch(pItem->uDataType) {
            // TODO: type flaot
         case QCBOR_TYPE_DOUBLE:
-           if(uOptions & QCBOR_CONVERT_TYPE_FLOAT) {
+           if(uConvertTypes & QCBOR_CONVERT_TYPE_FLOAT) {
               feclearexcept(FE_ALL_EXCEPT);
               double dRounded = round(pItem->val.dfnum);
               // TODO: over/underflow
@@ -3840,27 +3841,27 @@
                  return QCBOR_ERR_NUMBER_SIGN_CONVERSION;
               }
            } else {
-              return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+              return QCBOR_ERR_UNEXPECTED_TYPE;
            }
            break;
 
         case QCBOR_TYPE_INT64:
-           if(uOptions & QCBOR_CONVERT_TYPE_XINT64) {
+           if(uConvertTypes & QCBOR_CONVERT_TYPE_XINT64) {
               if(pItem->val.int64 >= 0) {
                  *puValue = (uint64_t)pItem->val.int64;
               } else {
                  return QCBOR_ERR_NUMBER_SIGN_CONVERSION;
               }
            } else {
-              return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+              return QCBOR_ERR_UNEXPECTED_TYPE;
            }
            break;
 
         case QCBOR_TYPE_UINT64:
-           if(uOptions & QCBOR_CONVERT_TYPE_XINT64) {
+           if(uConvertTypes & QCBOR_CONVERT_TYPE_XINT64) {
               *puValue =  pItem->val.uint64;
            } else {
-              return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+              return QCBOR_ERR_UNEXPECTED_TYPE;
            }
            break;
 
@@ -3872,7 +3873,7 @@
 
 
 void QCBORDecode_GetUInt64ConvertInternal(QCBORDecodeContext *pMe,
-                                          uint32_t uOptions,
+                                          uint32_t uConvertTypes,
                                           uint64_t *puValue,
                                           QCBORItem *pItem)
 {
@@ -3892,14 +3893,14 @@
       *pItem = Item;
    }
 
-   pMe->uLastError = (uint8_t)ConvertUint64(&Item, uOptions, puValue);
+   pMe->uLastError = (uint8_t)ConvertUint64(&Item, uConvertTypes, puValue);
 }
 
 
-void QCBORDecode_GetInt8ConvertInternal(QCBORDecodeContext *pMe, uint32_t uOptions, int8_t *pnValue, QCBORItem *pItem)
+void QCBORDecode_GetInt8ConvertInternal(QCBORDecodeContext *pMe, uint32_t uConvertTypes, int8_t *pnValue, QCBORItem *pItem)
 {
    int64_t uValue;
-   QCBORDecode_GetInt64ConvertInternal(pMe, uOptions, &uValue, pItem);
+   QCBORDecode_GetInt64ConvertInternal(pMe, uConvertTypes, &uValue, pItem);
    if(pMe->uLastError != QCBOR_SUCCESS) {
       return;
    }
@@ -3909,10 +3910,10 @@
    }
 }
 
-void QCBORDecode_GetInt8ConvertInternalInMapN(QCBORDecodeContext *pMe, int64_t nLabel, uint32_t uOptions, int8_t *pnValue, QCBORItem *pItem)
+void QCBORDecode_GetInt8ConvertInternalInMapN(QCBORDecodeContext *pMe, int64_t nLabel, uint32_t uConvertTypes, int8_t *pnValue, QCBORItem *pItem)
 {
    int64_t uValue;
-   QCBORDecode_GetInt64ConvertInternalInMapN(pMe, nLabel, uOptions, &uValue, pItem);
+   QCBORDecode_GetInt64ConvertInternalInMapN(pMe, nLabel, uConvertTypes, &uValue, pItem);
    if(pMe->uLastError != QCBOR_SUCCESS) {
       return;
    }
@@ -3922,10 +3923,10 @@
    }
 }
 
-void QCBORDecode_GetInt8ConvertInternalInMapSZ(QCBORDecodeContext *pMe, const char *szLabel, uint32_t uOptions, int8_t *pnValue, QCBORItem *pItem)
+void QCBORDecode_GetInt8ConvertInternalInMapSZ(QCBORDecodeContext *pMe, const char *szLabel, uint32_t uConvertTypes, int8_t *pnValue, QCBORItem *pItem)
 {
    int64_t uValue;
-   QCBORDecode_GetInt64ConvertInternalInMapSZ(pMe, szLabel, uOptions, &uValue, pItem);
+   QCBORDecode_GetInt64ConvertInternalInMapSZ(pMe, szLabel, uConvertTypes, &uValue, pItem);
    if(pMe->uLastError != QCBOR_SUCCESS) {
       return;
    }
@@ -3940,7 +3941,7 @@
 
 void QCBORDecode_GetUint64ConvertInternalInMapN(QCBORDecodeContext *pMe,
                                                int64_t             nLabel,
-                                               uint32_t            uOptions,
+                                               uint32_t            uConvertTypes,
                                                uint64_t            *puValue,
                                                QCBORItem          *pItem)
 {
@@ -3949,13 +3950,13 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)ConvertUint64(pItem, uOptions, puValue);
+   pMe->uLastError = (uint8_t)ConvertUint64(pItem, uConvertTypes, puValue);
 }
 
 
 void QCBORDecode_GetUInt64ConvertInternalInMapSZ(QCBORDecodeContext *pMe,
                                                const char *         szLabel,
-                                               uint32_t             uOptions,
+                                               uint32_t             uConvertTypes,
                                                uint64_t             *puValue,
                                                QCBORItem           *pItem)
 {
@@ -3968,60 +3969,60 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)ConvertUint64(pItem, uOptions, puValue);
+   pMe->uLastError = (uint8_t)ConvertUint64(pItem, uConvertTypes, puValue);
 }
 
 /*
  Public function, see header qcbor/qcbor_decode.h file
 */
-static QCBORError Uint64ConvertAll(const QCBORItem *pItem, uint32_t uOptions, uint64_t *puValue)
+static QCBORError Uint64ConvertAll(const QCBORItem *pItem, uint32_t uConvertTypes, uint64_t *puValue)
 {
    QCBORError uErr;
 
    switch(pItem->uDataType) {
 
       case QCBOR_TYPE_POSBIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_BIG_NUM) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_BIG_NUM) {
             return ConvertPositiveBigNumToUnsigned(pItem->val.bigNum, puValue);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_NEGBIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_BIG_NUM) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_BIG_NUM) {
             return QCBOR_ERR_NUMBER_SIGN_CONVERSION;
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
 #ifndef QCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA
 
       case QCBOR_TYPE_DECIMAL_FRACTION:
-         if(uOptions & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
             return ExponentitateNU(pItem->val.expAndMantissa.Mantissa.nInt,
                                                        pItem->val.expAndMantissa.nExponent,
                                                        puValue,
                                                        Exponentitate10);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_BIGFLOAT:
-         if(uOptions & QCBOR_CONVERT_TYPE_BIGFLOAT) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_BIGFLOAT) {
             return ExponentitateNU(pItem->val.expAndMantissa.Mantissa.nInt,
                                    pItem->val.expAndMantissa.nExponent,
                                    puValue,
                                    Exponentitate2);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_DECIMAL_FRACTION_POS_BIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
             // TODO: Would be better to convert to unsigned
             int64_t nMantissa;
             uErr = ConvertPositiveBigNumToSigned(pItem->val.expAndMantissa.Mantissa.bigNum, &nMantissa);
@@ -4033,20 +4034,20 @@
                                    puValue,
                                    Exponentitate10);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_DECIMAL_FRACTION_NEG_BIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
             return QCBOR_ERR_NUMBER_SIGN_CONVERSION;
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_BIGFLOAT_POS_BIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
             // TODO: Would be better to convert to unsigned
             int64_t nMantissa;
             uErr =  ConvertPositiveBigNumToSigned(pItem->val.expAndMantissa.Mantissa.bigNum, &nMantissa);
@@ -4058,15 +4059,15 @@
                                    puValue,
                                    Exponentitate2);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_BIGFLOAT_NEG_BIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
             return QCBOR_ERR_NUMBER_SIGN_CONVERSION;
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 #endif
@@ -4078,11 +4079,11 @@
 /*
   Public function, see header qcbor/qcbor_decode.h file
 */
-void QCBORDecode_GetUInt64ConvertAll(QCBORDecodeContext *pMe, uint32_t uOptions, uint64_t *puValue)
+void QCBORDecode_GetUInt64ConvertAll(QCBORDecodeContext *pMe, uint32_t uConvertTypes, uint64_t *puValue)
 {
    QCBORItem Item;
 
-   QCBORDecode_GetUInt64ConvertInternal(pMe, uOptions, puValue, &Item);
+   QCBORDecode_GetUInt64ConvertInternal(pMe, uConvertTypes, puValue, &Item);
 
    if(pMe->uLastError == QCBOR_SUCCESS) {
       // The above conversion succeeded
@@ -4094,18 +4095,18 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)Uint64ConvertAll(&Item, uOptions, puValue);
+   pMe->uLastError = (uint8_t)Uint64ConvertAll(&Item, uConvertTypes, puValue);
 }
 
 
 /*
   Public function, see header qcbor/qcbor_decode.h file
 */
-void QCBORDecode_GetUint64ConvertAllInMapN(QCBORDecodeContext *pMe, int64_t nLabel, uint32_t uOptions, uint64_t *puValue)
+void QCBORDecode_GetUint64ConvertAllInMapN(QCBORDecodeContext *pMe, int64_t nLabel, uint32_t uConvertTypes, uint64_t *puValue)
 {
    QCBORItem Item;
 
-   QCBORDecode_GetUint64ConvertInternalInMapN(pMe, nLabel, uOptions, puValue, &Item);
+   QCBORDecode_GetUint64ConvertInternalInMapN(pMe, nLabel, uConvertTypes, puValue, &Item);
 
    if(pMe->uLastError == QCBOR_SUCCESS) {
       // The above conversion succeeded
@@ -4117,17 +4118,17 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)Uint64ConvertAll(&Item, uOptions, puValue);
+   pMe->uLastError = (uint8_t)Uint64ConvertAll(&Item, uConvertTypes, puValue);
 }
 
 
 /*
   Public function, see header qcbor/qcbor_decode.h file
 */
-void QCBORDecode_GetUint64ConvertAllInMapSZ(QCBORDecodeContext *pMe, const char *szLabel, uint32_t uOptions, uint64_t *puValue)
+void QCBORDecode_GetUint64ConvertAllInMapSZ(QCBORDecodeContext *pMe, const char *szLabel, uint32_t uConvertTypes, uint64_t *puValue)
 {
    QCBORItem Item;
-   QCBORDecode_GetUInt64ConvertInternalInMapSZ(pMe, szLabel, uOptions, puValue, &Item);
+   QCBORDecode_GetUInt64ConvertInternalInMapSZ(pMe, szLabel, uConvertTypes, puValue, &Item);
 
    if(pMe->uLastError == QCBOR_SUCCESS) {
       // The above conversion succeeded
@@ -4139,39 +4140,39 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)Uint64ConvertAll(&Item, uOptions, puValue);
+   pMe->uLastError = (uint8_t)Uint64ConvertAll(&Item, uConvertTypes, puValue);
 }
 
 
-static QCBORError ConvertDouble(const QCBORItem *pItem, uint32_t uOptions, double *pdValue)
+static QCBORError ConvertDouble(const QCBORItem *pItem, uint32_t uConvertTypes, double *pdValue)
 {
    switch(pItem->uDataType) {
       // TODO: float when ifdefs are set
       case QCBOR_TYPE_DOUBLE:
-         if(uOptions & QCBOR_CONVERT_TYPE_FLOAT) {
-            if(uOptions & QCBOR_CONVERT_TYPE_FLOAT) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_FLOAT) {
+            if(uConvertTypes & QCBOR_CONVERT_TYPE_FLOAT) {
                *pdValue = pItem->val.dfnum;
             } else {
-               return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+               return QCBOR_ERR_UNEXPECTED_TYPE;
             }
          }
          break;
 
       case QCBOR_TYPE_INT64:
-         if(uOptions & QCBOR_CONVERT_TYPE_INT64) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_XINT64) {
             // TODO: how does this work?
             *pdValue = (double)pItem->val.int64;
 
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_UINT64:
-         if(uOptions & QCBOR_CONVERT_TYPE_UINT64) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_XINT64) {
              *pdValue = (double)pItem->val.uint64;
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
@@ -4185,7 +4186,7 @@
 
 
 void QCBORDecode_GetDoubleConvertInternal(QCBORDecodeContext *pMe,
-                                          uint32_t            uOptions,
+                                          uint32_t            uConvertTypes,
                                           double             *pdValue,
                                           QCBORItem          *pItem)
 {
@@ -4205,13 +4206,13 @@
       *pItem = Item;
    }
 
-   pMe->uLastError = (uint8_t)ConvertDouble(&Item, uOptions, pdValue);
+   pMe->uLastError = (uint8_t)ConvertDouble(&Item, uConvertTypes, pdValue);
 }
 
 
 void QCBORDecode_GetDoubleConvertInternalInMapN(QCBORDecodeContext *pMe,
                                                int64_t             nLabel,
-                                               uint32_t            uOptions,
+                                               uint32_t            uConvertTypes,
                                                double             *pdValue,
                                                QCBORItem          *pItem)
 {
@@ -4220,12 +4221,12 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)ConvertDouble(pItem, uOptions, pdValue);
+   pMe->uLastError = (uint8_t)ConvertDouble(pItem, uConvertTypes, pdValue);
 }
 
 void QCBORDecode_GetDoubleConvertInternalInMapSZ(QCBORDecodeContext *pMe,
                                                const char *          szLabel,
-                                               uint32_t              uOptions,
+                                               uint32_t              uConvertTypes,
                                                double               *pdValue,
                                                QCBORItem            *pItem)
 {
@@ -4238,7 +4239,7 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)ConvertDouble(pItem, uOptions, pdValue);
+   pMe->uLastError = (uint8_t)ConvertDouble(pItem, uConvertTypes, pdValue);
 }
 
 
@@ -4260,7 +4261,7 @@
    return dResult;
 }
 
-static QCBORError DoubleConvertAll(const QCBORItem *pItem, uint32_t uOptions, double *pdValue)
+static QCBORError DoubleConvertAll(const QCBORItem *pItem, uint32_t uConvertTypes, double *pdValue)
 {
    /*
    https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
@@ -4271,75 +4272,75 @@
 
 #ifndef QCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA
       case QCBOR_TYPE_DECIMAL_FRACTION:
-         if(uOptions & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
             // TODO: rounding and overflow errors
             *pdValue = (double)pItem->val.expAndMantissa.Mantissa.nInt *
                         pow(10.0, (double)pItem->val.expAndMantissa.nExponent);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_BIGFLOAT:
-         if(uOptions & QCBOR_CONVERT_TYPE_BIGFLOAT ) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_BIGFLOAT ) {
            *pdValue = (double)pItem->val.expAndMantissa.Mantissa.nInt *
                                 exp2((double)pItem->val.expAndMantissa.nExponent);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 #endif /* ndef QCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA */
 
       case QCBOR_TYPE_POSBIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_BIG_NUM) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_BIG_NUM) {
             *pdValue = ConvertBigNumToDouble(pItem->val.bigNum);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_NEGBIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_BIG_NUM) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_BIG_NUM) {
             *pdValue = -1-ConvertBigNumToDouble(pItem->val.bigNum);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
 #ifndef QCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA
       case QCBOR_TYPE_DECIMAL_FRACTION_POS_BIGNUM:
-         if(uOptions & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
+         if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
             double dMantissa = ConvertBigNumToDouble(pItem->val.expAndMantissa.Mantissa.bigNum);
             *pdValue = dMantissa * pow(10, (double)pItem->val.expAndMantissa.nExponent);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_DECIMAL_FRACTION_NEG_BIGNUM:
-        if(uOptions & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
+        if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
          double dMantissa = -ConvertBigNumToDouble(pItem->val.expAndMantissa.Mantissa.bigNum);
          *pdValue = dMantissa * pow(10, (double)pItem->val.expAndMantissa.nExponent);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_BIGFLOAT_POS_BIGNUM:
-        if(uOptions & QCBOR_CONVERT_TYPE_BIGFLOAT) {
+        if(uConvertTypes & QCBOR_CONVERT_TYPE_BIGFLOAT) {
          double dMantissa = ConvertBigNumToDouble(pItem->val.expAndMantissa.Mantissa.bigNum);
          *pdValue = dMantissa * exp2((double)pItem->val.expAndMantissa.nExponent);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 
       case QCBOR_TYPE_BIGFLOAT_NEG_BIGNUM:
-        if(uOptions & QCBOR_CONVERT_TYPE_BIGFLOAT) {
+        if(uConvertTypes & QCBOR_CONVERT_TYPE_BIGFLOAT) {
          double dMantissa = -1-ConvertBigNumToDouble(pItem->val.expAndMantissa.Mantissa.bigNum);
          *pdValue = dMantissa * exp2((double)pItem->val.expAndMantissa.nExponent);
          } else {
-            return QCBOR_ERR_CONVERSION_NOT_REQUESTED;
+            return QCBOR_ERR_UNEXPECTED_TYPE;
          }
          break;
 #endif /* ndef QCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA */
@@ -4356,12 +4357,12 @@
 /*
    Public function, see header qcbor/qcbor_decode.h file
 */
-void QCBORDecode_GetDoubleConvertAll(QCBORDecodeContext *pMe, uint32_t uOptions, double *pdValue)
+void QCBORDecode_GetDoubleConvertAll(QCBORDecodeContext *pMe, uint32_t uConvertTypes, double *pdValue)
 {
 
    QCBORItem Item;
 
-   QCBORDecode_GetDoubleConvertInternal(pMe, uOptions, pdValue, &Item);
+   QCBORDecode_GetDoubleConvertInternal(pMe, uConvertTypes, pdValue, &Item);
 
    if(pMe->uLastError == QCBOR_SUCCESS) {
       // The above conversion succeeded
@@ -4373,18 +4374,18 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)DoubleConvertAll(&Item, uOptions, pdValue);
+   pMe->uLastError = (uint8_t)DoubleConvertAll(&Item, uConvertTypes, pdValue);
 }
 
 
 /*
    Public function, see header qcbor/qcbor_decode.h file
 */
-void QCBORDecode_GetDoubleConvertAllInMapN(QCBORDecodeContext *pMe, int64_t nLabel, uint32_t uOptions, double *pdValue)
+void QCBORDecode_GetDoubleConvertAllInMapN(QCBORDecodeContext *pMe, int64_t nLabel, uint32_t uConvertTypes, double *pdValue)
 {
    QCBORItem Item;
 
-   QCBORDecode_GetDoubleConvertInternalInMapN(pMe, nLabel, uOptions, pdValue, &Item);
+   QCBORDecode_GetDoubleConvertInternalInMapN(pMe, nLabel, uConvertTypes, pdValue, &Item);
 
    if(pMe->uLastError == QCBOR_SUCCESS) {
       // The above conversion succeeded
@@ -4396,17 +4397,17 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)DoubleConvertAll(&Item, uOptions, pdValue);
+   pMe->uLastError = (uint8_t)DoubleConvertAll(&Item, uConvertTypes, pdValue);
 }
 
 
 /*
    Public function, see header qcbor/qcbor_decode.h file
 */
-void QCBORDecode_GetDoubleConvertAllInMapSZ(QCBORDecodeContext *pMe, const char *szLabel, uint32_t uOptions, double *pdValue)
+void QCBORDecode_GetDoubleConvertAllInMapSZ(QCBORDecodeContext *pMe, const char *szLabel, uint32_t uConvertTypes, double *pdValue)
 {
    QCBORItem Item;
-   QCBORDecode_GetDoubleConvertInternalInMapSZ(pMe, szLabel, uOptions, pdValue, &Item);
+   QCBORDecode_GetDoubleConvertInternalInMapSZ(pMe, szLabel, uConvertTypes, pdValue, &Item);
 
    if(pMe->uLastError == QCBOR_SUCCESS) {
       // The above conversion succeeded
@@ -4418,7 +4419,7 @@
       return;
    }
 
-   pMe->uLastError = (uint8_t)DoubleConvertAll(&Item, uOptions, pdValue);
+   pMe->uLastError = (uint8_t)DoubleConvertAll(&Item, uConvertTypes, pdValue);
 }