13#ifndef qcbor_tag_decode_h
14#define qcbor_tag_decode_h
189#ifndef QCBOR_DISABLE_TAGS
899 void *pTagDecodersContext,
903#ifndef QCBOR_DISABLE_TAGS
934 void *pTagDecodersContext);
978 void *pTagDecodersContext,
1009 void *pTagDecodersContext,
1049 void *pTagDecodersContext,
1074 void *pTagDecodersContext,
1107 void *pTagDecodersContext,
1121#ifndef QCBOR_DISABLE_TAGS
1182 const char *szLabel,
1202 const char *szLabel,
1222 const char *szLabel,
1242 const char *szLabel,
1262 const char *szLabel,
1282 const char *szLabel,
1302 const char *szLabel,
1322 const char *szLabel,
1344 const char *szLabel,
1365 const char *szLabel,
1390 uint8_t uQCBOR_Type,
1397 const int64_t nLabel,
1399 const uint8_t uQCBOR_Type,
1406 const char *szLabel,
1408 uint8_t uQCBOR_Type,
1417 const uint8_t uQCBORTypes[],
1418 const uint64_t uTagNumbers[],
1427 const uint8_t uQCBORTypes[],
1433#ifndef QCBOR_DISABLE_TAGS
1437 void *pTagDecodersContext)
1439 pMe->pTagDecoderTable = pTagDecoderTable;
1440 pMe->pTagDecodersContext = pTagDecodersContext;
1453 QCBORDecode_Private_GetTaggedString(pMe,
1462 const int64_t nLabel,
1466 QCBORDecode_Private_GetTaggedStringInMapN(pMe,
1476 const char *szLabel,
1480 QCBORDecode_Private_GetTaggedStringInMapSZ(pMe,
1493 QCBORDecode_Private_GetTaggedString(pMe,
1502 const int64_t nLabel,
1506 QCBORDecode_Private_GetTaggedStringInMapN(pMe,
1516 const char *szLabel,
1520 QCBORDecode_Private_GetTaggedStringInMapSZ(pMe,
1535 QCBORDecode_Private_GetTaggedString(pMe,
1544 const int64_t nLabel,
1548 QCBORDecode_Private_GetTaggedStringInMapN(pMe,
1558 const char *szLabel,
1562 QCBORDecode_Private_GetTaggedStringInMapSZ(pMe,
1576 QCBORDecode_Private_GetTaggedString(pMe,
1585 const int64_t nLabel,
1589 QCBORDecode_Private_GetTaggedStringInMapN(pMe,
1599 const char *szLabel,
1603 QCBORDecode_Private_GetTaggedStringInMapSZ(pMe,
1617 QCBORDecode_Private_GetTaggedString(pMe,
1626 const int64_t nLabel,
1630 QCBORDecode_Private_GetTaggedStringInMapN(pMe,
1640 const char *szLabel,
1644 QCBORDecode_Private_GetTaggedStringInMapSZ(pMe,
1658 QCBORDecode_Private_GetTaggedString(pMe,
1667 const int64_t nLabel,
1671 QCBORDecode_Private_GetTaggedStringInMapN(pMe,
1681 const char *szLabel,
1685 QCBORDecode_Private_GetTaggedStringInMapSZ(pMe,
1699 QCBORDecode_Private_GetTaggedString(pMe,
1708 const int64_t nLabel,
1712 QCBORDecode_Private_GetTaggedStringInMapN(pMe,
1722 const char *szLabel,
1726 QCBORDecode_Private_GetTaggedStringInMapSZ(pMe,
1764 const char *szLabel,
1791 const char *szLabel,
1817 const char *szLabel,
1843 const char *szLabel,
1869 const char *szLabel,
1895 const char *szLabel,
1921 const char *szLabel,
1947 const char *szLabel,
1975 const char *szLabel,
2002 const char *szLabel,
static void QCBORDecode_GetEpochDaysInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, int64_t *pnDays)
Definition qcbor_tag_decode.h:1842
static void QCBORDecode_GetRegexInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pRegex)
Definition qcbor_tag_decode.h:1937
static void QCBORDecode_GetURIInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pURI)
Definition qcbor_tag_decode.h:1868
static void QCBORDecode_GetB64URLInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pB64Text)
Definition qcbor_tag_decode.h:1911
static void QCBORDecode_GetRegexInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pRegex)
Definition qcbor_tag_decode.h:1946
static void QCBORDecode_GetDaysString(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pDateString)
Definition qcbor_tag_decode.h:1799
static void QCBORDecode_GetB64URL(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pB64Text)
Definition qcbor_tag_decode.h:1903
static void QCBORDecode_GetMIMEMessage(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pMessage, bool *pbIsTag257)
Definition qcbor_tag_decode.h:1955
static void QCBORDecode_GetMIMEMessageInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pMessage, bool *pbIsTag257)
Definition qcbor_tag_decode.h:1964
static void QCBORDecode_GetEpochDateInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, int64_t *pnTime)
Definition qcbor_tag_decode.h:1781
static void QCBORDecode_GetURIInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pURI)
Definition qcbor_tag_decode.h:1859
static void QCBORDecode_GetDateStringInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pDateString)
Definition qcbor_tag_decode.h:1754
static void QCBORDecode_GetEpochDate(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, int64_t *pnTime)
Definition qcbor_tag_decode.h:1773
static void QCBORDecode_GetDateString(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pDateString)
Definition qcbor_tag_decode.h:1746
static void QCBORDecode_GetURI(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pURI)
Definition qcbor_tag_decode.h:1851
static void QCBORDecode_GetRegex(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pRegex)
Definition qcbor_tag_decode.h:1929
static void QCBORDecode_GetEpochDaysInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, int64_t *pnDays)
Definition qcbor_tag_decode.h:1833
static void QCBORDecode_GetMIMEMessageInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pMessage, bool *pbIsTag257)
Definition qcbor_tag_decode.h:1974
static void QCBORDecode_GetB64InMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pB64Text)
Definition qcbor_tag_decode.h:1894
static void QCBORDecode_GetBinaryUUIDInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pUUID)
Definition qcbor_tag_decode.h:2001
static void QCBORDecode_GetDateStringInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pDateString)
Definition qcbor_tag_decode.h:1763
static void QCBORDecode_GetBinaryUUIDInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pUUID)
Definition qcbor_tag_decode.h:1992
static void QCBORDecode_GetDaysStringInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pDateString)
Definition qcbor_tag_decode.h:1807
static void QCBORDecode_GetDaysStringInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pDateString)
Definition qcbor_tag_decode.h:1816
static void QCBORDecode_GetB64URLInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pB64Text)
Definition qcbor_tag_decode.h:1920
static void QCBORDecode_GetB64(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pB64Text)
Definition qcbor_tag_decode.h:1877
static void QCBORDecode_GetEpochDays(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, int64_t *pnDays)
Definition qcbor_tag_decode.h:1825
static void QCBORDecode_GetEpochDateInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, int64_t *pnTime)
Definition qcbor_tag_decode.h:1790
static void QCBORDecode_GetB64InMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pB64Text)
Definition qcbor_tag_decode.h:1885
static void QCBORDecode_GetBinaryUUID(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pUUID)
Definition qcbor_tag_decode.h:1984
#define CBOR_TAG_URI
Definition qcbor_common.h:179
#define CBOR_TAG_B64URL
Definition qcbor_common.h:181
#define CBOR_TAG_DATE_STRING
Definition qcbor_common.h:124
#define CBOR_TAG_B64
Definition qcbor_common.h:183
#define CBOR_TAG_BIN_UUID
Definition qcbor_common.h:189
QCBORError
Definition qcbor_common.h:260
#define CBOR_TAG_REGEX
Definition qcbor_common.h:185
#define CBOR_TAG_DAYS_STRING
Definition qcbor_common.h:226
#define QCBOR_TYPE_DAYS_STRING
Definition qcbor_main_decode.h:492
#define QCBOR_TYPE_BASE64URL
Definition qcbor_main_decode.h:465
#define QCBOR_TYPE_UUID
Definition qcbor_main_decode.h:479
#define QCBOR_TYPE_DATE_STRING
Definition qcbor_main_decode.h:356
#define QCBOR_TYPE_BASE64
Definition qcbor_main_decode.h:469
#define QCBOR_TYPE_REGEX
Definition qcbor_main_decode.h:472
struct _QCBORDecodeContext QCBORDecodeContext
Definition qcbor_main_decode.h:785
#define QCBOR_TYPE_URI
Definition qcbor_main_decode.h:461
static void QCBORDecode_GetTBinaryUUIDInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pUUID)
Definition qcbor_tag_decode.h:1707
QCBORError QCBORDecode_GetNextTagNumberInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, uint64_t *puTagNumber)
const struct QCBORTagDecoderEntry QCBORDecode_TagDecoderTablev1[]
static void QCBORDecode_GetTRegexInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pRegex)
Definition qcbor_tag_decode.h:1666
void QCBORDecode_GetTMIMEMessage(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pMessage, bool *pbIsTag257)
Decode the next item as a MIME message.
static void QCBORDecode_GetTRegexInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pRegex)
Definition qcbor_tag_decode.h:1680
static void QCBORDecode_GetTDaysStringInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pDateString)
Definition qcbor_tag_decode.h:1501
void QCBORDecode_GetTEpochDays(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, int64_t *pnDays)
Decode the next item as an days-count epoch date.
static void QCBORDecode_GetTURIInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pURI)
Definition qcbor_tag_decode.h:1557
static void QCBORDecode_GetTB64URLInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pB64Text)
Definition qcbor_tag_decode.h:1639
static void QCBORDecode_GetTB64URL(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pB64Text)
Decode the next item as base64URL encoded text.
Definition qcbor_tag_decode.h:1613
void QCBORDecode_GetTEpochDate(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, int64_t *pnTime)
Decode the next item as an epoch date.
QCBORError QCBORDecode_ExpMantissaTagCB(QCBORDecodeContext *pDecodeCtx, void *pTagDecodersContext, uint64_t uTagNumber, QCBORItem *pDecodedItem)
Decode decimal fractions and big floats.
QCBORError QCBORDecode_MIMETagCB(QCBORDecodeContext *pDecodeCtx, void *pTagDecodersContext, uint64_t uTagNumber, QCBORItem *pDecodedItem)
Decode the MIME type tag.
static void QCBORDecode_InstallTagDecoders(QCBORDecodeContext *pCtx, const struct QCBORTagDecoderEntry *pTagDecoderTable, void *pTagDecodersContext)
Set the custom tag decoders.
Definition qcbor_tag_decode.h:1435
void QCBORDecode_EnterBstrWrapped(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pBstr)
Decode some byte-string wrapped CBOR.
QCBORError QCBORDecode_GetNextTagNumber(QCBORDecodeContext *pCtx, uint64_t *puTagNumber)
Returns the tag numbers for an item.
uint64_t QCBORDecode_GetNthTagOfLast(const QCBORDecodeContext *pCtx, uint32_t uIndex)
[Deprecated] Returns the tag numbers for last-decoded item.
uint64_t QCBORDecode_GetNthTagNumber(const QCBORDecodeContext *pCtx, const QCBORItem *pItem, uint8_t uIndex)
Returns the tag numbers for a decoded item.
QCBORError QCBORDecode_DateEpochTagCB(QCBORDecodeContext *pDecodeCtx, void *pTagDecodersContext, uint64_t uTagNumber, QCBORItem *pDecodedItem)
Convert different epoch date formats in to the QCBOR epoch date format.
static void QCBORDecode_GetTB64URLInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pB64Text)
Definition qcbor_tag_decode.h:1625
static void QCBORDecode_GetTB64(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pB64Text)
Decode the next item as base64 encoded text.
Definition qcbor_tag_decode.h:1572
static void QCBORDecode_GetTBinaryUUID(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pUUID)
Decode the next item as a UUID.
Definition qcbor_tag_decode.h:1695
QCBORDecodeTagReq
Definition qcbor_tag_decode.h:160
@ QCBOR_TAG_REQUIREMENT_NOT_A_TAG
Definition qcbor_tag_decode.h:172
@ QCBOR_TAG_REQUIREMENT_OPTIONAL_TAG
Definition qcbor_tag_decode.h:179
@ QCBOR_TAG_REQUIREMENT_TAG
Definition qcbor_tag_decode.h:166
@ QCBOR_TAG_REQUIREMENT_ALLOW_ADDITIONAL_TAGS
Definition qcbor_tag_decode.h:183
static void QCBORDecode_GetTDateString(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pDateString)
Decode the next item as a date string.
Definition qcbor_tag_decode.h:1449
static void QCBORDecode_GetTDaysStringInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pDateString)
Definition qcbor_tag_decode.h:1515
uint64_t QCBORDecode_GetNthTagNumberOfLast(QCBORDecodeContext *pCtx, uint8_t uIndex)
Returns the tag numbers for last-decoded item.
void QCBORDecode_GetTMIMEMessageInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pMessage, bool *pbIsTag257)
void QCBORDecode_VGetNextTagNumber(QCBORDecodeContext *pCtx, uint64_t *puTagNumber)
Returns the tag numbers for an item.
uint64_t QCBORDecode_GetNthTag(QCBORDecodeContext *pCtx, const QCBORItem *pItem, uint32_t uIndex)
[Deprecated] Returns the tag numbers for an item..
QCBORError QCBORDecode_StringsTagCB(QCBORDecodeContext *pDecodeCtx, void *pTagDecodersContext, uint64_t uTagNumber, QCBORItem *pDecodedItem)
Process standard CBOR tags whose content is a string.
void QCBORDecode_GetTMIMEMessageInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pMessage, bool *pbIsTag257)
static void QCBORDecode_GetTBinaryUUIDInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pUUID)
Definition qcbor_tag_decode.h:1721
void QCBORDecode_ExitBstrWrapped(QCBORDecodeContext *pCtx)
Exit some bstr-wrapped CBOR that has been entered.
static void QCBORDecode_GetTB64InMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pB64Text)
Definition qcbor_tag_decode.h:1598
void QCBORDecode_GetTEpochDateInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, int64_t *pnTime)
void QCBORDecode_GetTEpochDateInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, int64_t *pnTime)
static void QCBORDecode_GetTDateStringInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pDateString)
Definition qcbor_tag_decode.h:1475
void QCBORDecode_EnterBstrWrappedFromMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pBstr)
QCBORError QCBORDecode_DaysEpochTagCB(QCBORDecodeContext *pDecodeCtx, void *pTagDecodersContext, uint64_t uTagNumber, QCBORItem *pDecodedItem)
Convert the days epoch date.
static void QCBORDecode_GetTURI(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pURI)
Decode the next item as a URI.
Definition qcbor_tag_decode.h:1531
static void QCBORDecode_GetTDaysString(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pDateString)
Decode the next item as a date string.
Definition qcbor_tag_decode.h:1489
static void QCBORDecode_GetTRegex(QCBORDecodeContext *pCtx, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pRegex)
Decode the next item as a regular expression.
Definition qcbor_tag_decode.h:1654
void QCBORDecode_GetTEpochDaysInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, int64_t *pnDays)
QCBORError QCBORTagContentCallBack(QCBORDecodeContext *pCtx, void *pTagDecodersContext, uint64_t uTagNumber, QCBORItem *pItem)
Prototype for callback for decoding tag content.
Definition qcbor_tag_decode.h:898
void QCBORDecode_EnterBstrWrappedFromMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pBstr)
void QCBORDecode_GetTEpochDaysInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, enum QCBORDecodeTagReq uTagRequirement, int64_t *pnDays)
QCBORError QCBORDecode_GetNextTagNumberInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, uint64_t *puTagNumber)
static void QCBORDecode_GetTURIInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pURI)
Definition qcbor_tag_decode.h:1543
static void QCBORDecode_GetTB64InMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pB64Text)
Definition qcbor_tag_decode.h:1584
static void QCBORDecode_GetTDateStringInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, enum QCBORDecodeTagReq uTagRequirement, UsefulBufC *pDateString)
Definition qcbor_tag_decode.h:1461
Definition qcbor_main_decode.h:574
Definition qcbor_tag_decode.h:911
QCBORTagContentCallBack * pfContentDecoder
Definition qcbor_tag_decode.h:915
uint64_t uTagNumber
Definition qcbor_tag_decode.h:913
Definition UsefulBuf.h:280