QCBOR
Loading...
Searching...
No Matches
qcbor_tag_decode.h
Go to the documentation of this file.
1/* ==========================================================================
2 * qcbor_tag_decode.h -- Tag decoding
3 *
4 * Copyright (c) 2024, Laurence Lundblade. All rights reserved.
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 *
8 * See BSD-3-Clause license in README.md
9 *
10 * Forked from qcbor_decode.c on 9/5/24
11 * ========================================================================== */
12
13#ifndef qcbor_tag_decode_h
14#define qcbor_tag_decode_h
15
17
18
19#ifdef __cplusplus
20extern "C" {
21#if 0
22} // Keep editor indention formatting happy
23#endif
24#endif
25
113/*
114This describes the fan out of use cases for spiffy style tag decoding
115 in detail.
116
117TODO: make sure this full fan out is tested
118TODO: perhaps incorporate some of this into documentation
119
120When asking for specific tag decode, for example GetDateEpoch()
121
122Tag required
123 - No tag gives error xxxx
124 - The epoch date tag by itself succeeds
125 - The epoch date tag with wrong content gives error yyy
126 - The epoch date tag with additional
127 - The additional have been consumed -- suceeds
128 - The aditional tags have not been consumed -- gives error aaa
129 - Another tag gives --- error zzz
130
131 Tag not required
132 - No tags, correct tag content -- success
133 - No tags, incorrect tag content type error yyy
134 - Another tag, not consumed --- error aaa
135 - Another tag consumed -- success
136 - Another tag consumed and made into another type --- error xxxx
137
138 Tag optional
139 - No tags, correct content -- success
140 - No tags, incorrect content -- error yyy
141 - Expected tag -- success
142 - Another tag, consumed -- success
143 - Another tag, not consumed tag content correct -- error, probably aaa
144 - Another tag, consumed and made into another type -- error xxx
145 - Expected tag + another tag, not consumed -- error aaa
146
147
148 Now fan out for ALLOW_EXTRA --- yuckkkkk
149
150 Ignore ALLOW_EXTRA in v2?
151
152 Fan out for v1
153*/
154
155
185
186
187
188
189#ifndef QCBOR_DISABLE_TAGS
234void
236
237
251
254QCBORDecode_GetNextTagNumberInMapN(QCBORDecodeContext *pCtx, int64_t nLabel, uint64_t *puTagNumber);
255
258QCBORDecode_GetNextTagNumberInMapSZ(QCBORDecodeContext *pCtx, const char *szLabel, uint64_t *puTagNumber);
259
260
261
301uint64_t
302QCBORDecode_GetNthTagNumber(const QCBORDecodeContext *pCtx, const QCBORItem *pItem, uint8_t uIndex);
303
304
324uint64_t
326
327#endif /* ! QCBOR_DISABLE_TAGS */
328
329
330
331
383void
385 enum QCBORDecodeTagReq uTagRequirement,
386 UsefulBufC *pBstr);
387
389void
391 int64_t nLabel,
392 enum QCBORDecodeTagReq uTagRequirement,
393 UsefulBufC *pBstr);
394
396void
398 const char *szLabel,
399 enum QCBORDecodeTagReq uTagRequirement,
400 UsefulBufC *pBstr);
401
402
416void
418
419
420
421
438static void
440 enum QCBORDecodeTagReq uTagRequirement,
441 UsefulBufC *pDateString);
442
444static void
446 int64_t nLabel,
447 enum QCBORDecodeTagReq uTagRequirement,
448 UsefulBufC *pDateString);
449
451static void
453 const char *szLabel,
454 enum QCBORDecodeTagReq uTagRequirement,
455 UsefulBufC *pDateString);
456
457
458
459
501void
503 enum QCBORDecodeTagReq uTagRequirement,
504 int64_t *pnTime);
505
507void
509 int64_t nLabel,
510 enum QCBORDecodeTagReq uTagRequirement,
511 int64_t *pnTime);
512
514void
516 const char *szLabel,
517 enum QCBORDecodeTagReq uTagRequirement,
518 int64_t *pnTime);
519
520
521
538static void
540 enum QCBORDecodeTagReq uTagRequirement,
541 UsefulBufC *pDateString);
542
544static void
546 int64_t nLabel,
547 enum QCBORDecodeTagReq uTagRequirement,
548 UsefulBufC *pDateString);
549
551static void
553 const char *szLabel,
554 enum QCBORDecodeTagReq uTagRequirement,
555 UsefulBufC *pDateString);
556
557
575void
577 enum QCBORDecodeTagReq uTagRequirement,
578 int64_t *pnDays);
579
581void
583 int64_t nLabel,
584 enum QCBORDecodeTagReq uTagRequirement,
585 int64_t *pnDays);
586
588void
590 const char *szLabel,
591 enum QCBORDecodeTagReq uTagRequirement,
592 int64_t *pnDays);
593
594
611static void
613 enum QCBORDecodeTagReq uTagRequirement,
614 UsefulBufC *pURI);
615
617static void
619 int64_t nLabel,
620 enum QCBORDecodeTagReq uTagRequirement,
621 UsefulBufC *pURI);
622
624static void
626 const char *szLabel,
627 enum QCBORDecodeTagReq uTagRequirement,
628 UsefulBufC *pURI);
629
630
649static void
651 enum QCBORDecodeTagReq uTagRequirement,
652 UsefulBufC *pB64Text);
653
655static void
657 int64_t nLabel,
658 enum QCBORDecodeTagReq uTagRequirement,
659 UsefulBufC *pB64Text);
660
662static void
664 const char *szLabel,
665 enum QCBORDecodeTagReq uTagRequirement,
666 UsefulBufC *pB64Text);
667
686static void
688 enum QCBORDecodeTagReq uTagRequirement,
689 UsefulBufC *pB64Text);
690
692static void
694 int64_t nLabel,
695 enum QCBORDecodeTagReq uTagRequirement,
696 UsefulBufC *pB64Text);
697
699static void
701 const char *szLabel,
702 enum QCBORDecodeTagReq uTagRequirement,
703 UsefulBufC *pB64Text);
704
721static void
723 enum QCBORDecodeTagReq uTagRequirement,
724 UsefulBufC *pRegex);
725
727static void
729 int64_t nLabel,
730 enum QCBORDecodeTagReq uTagRequirement,
731 UsefulBufC *pRegex);
732
734static void
736 const char *szLabel,
737 enum QCBORDecodeTagReq uTagRequirement,
738 UsefulBufC *pRegex);
739
740
770void
772 enum QCBORDecodeTagReq uTagRequirement,
773 UsefulBufC *pMessage,
774 bool *pbIsTag257);
775
777void
779 int64_t nLabel,
780 enum QCBORDecodeTagReq uTagRequirement,
781 UsefulBufC *pMessage,
782 bool *pbIsTag257);
783
785void
787 const char *szLabel,
788 enum QCBORDecodeTagReq uTagRequirement,
789 UsefulBufC *pMessage,
790 bool *pbIsTag257);
791
808static void
810 enum QCBORDecodeTagReq uTagRequirement,
811 UsefulBufC *pUUID);
812
814static void
816 int64_t nLabel,
817 enum QCBORDecodeTagReq uTagRequirement,
818 UsefulBufC *pUUID);
819
821static void
823 const char *szLabel,
824 enum QCBORDecodeTagReq uTagRequirement,
825 UsefulBufC *pUUID);
826
827
828
829
899 void *pTagDecodersContext,
900 uint64_t uTagNumber,
901 QCBORItem *pItem);
902
903#ifndef QCBOR_DISABLE_TAGS
904
917
918
931static void
933 const struct QCBORTagDecoderEntry *pTagDecoderTable,
934 void *pTagDecodersContext);
935
936
943
944#endif /* ! QCBOR_DISABLE_TAGS */
945
946
978 void *pTagDecodersContext,
979 uint64_t uTagNumber,
980 QCBORItem *pDecodedItem);
981
982
1009 void *pTagDecodersContext,
1010 uint64_t uTagNumber,
1011 QCBORItem *pDecodedItem);
1012
1013
1049 void *pTagDecodersContext,
1050 uint64_t uTagNumber,
1051 QCBORItem *pDecodedItem);
1052
1053
1074 void *pTagDecodersContext,
1075 uint64_t uTagNumber,
1076 QCBORItem *pDecodedItem);
1077
1078
1107 void *pTagDecodersContext,
1108 uint64_t uTagNumber,
1109 QCBORItem *pDecodedItem);
1110
1111
1112
1113
1114/* ========================================================================= *
1115 * BEGINNING OF DEPRECATED FUNCTIONS *
1116 * *
1117 * There is no plan to remove these in future versions. *
1118 * They just have been replaced by something better. *
1119 * ========================================================================= */
1120
1121#ifndef QCBOR_DISABLE_TAGS
1122
1137uint64_t
1138QCBORDecode_GetNthTag(QCBORDecodeContext *pCtx, const QCBORItem *pItem, uint32_t uIndex);
1139
1140
1156uint64_t
1158
1159
1160
1167static void
1169 enum QCBORDecodeTagReq uTagRequirement,
1170 UsefulBufC *pDateString);
1171
1173static void
1175 int64_t nLabel,
1176 enum QCBORDecodeTagReq uTagRequirement,
1177 UsefulBufC *pDateString);
1178
1180static void
1182 const char *szLabel,
1183 enum QCBORDecodeTagReq uTagRequirement,
1184 UsefulBufC *pDateString);
1185
1187static void
1189 enum QCBORDecodeTagReq uTagRequirement,
1190 int64_t *pnTime);
1191
1193static void
1195 int64_t nLabel,
1196 enum QCBORDecodeTagReq uTagRequirement,
1197 int64_t *pnTime);
1198
1200static void
1202 const char *szLabel,
1203 enum QCBORDecodeTagReq uTagRequirement,
1204 int64_t *pnTime);
1205
1207static void
1209 enum QCBORDecodeTagReq uTagRequirement,
1210 UsefulBufC *pDateString);
1211
1213static void
1215 int64_t nLabel,
1216 enum QCBORDecodeTagReq uTagRequirement,
1217 UsefulBufC *pDateString);
1218
1220static void
1222 const char *szLabel,
1223 enum QCBORDecodeTagReq uTagRequirement,
1224 UsefulBufC *pDateString);
1225
1227static void
1229 enum QCBORDecodeTagReq uTagRequirement,
1230 int64_t *pnDays);
1231
1233static void
1235 int64_t nLabel,
1236 enum QCBORDecodeTagReq uTagRequirement,
1237 int64_t *pnDays);
1238
1240static void
1242 const char *szLabel,
1243 enum QCBORDecodeTagReq uTagRequirement,
1244 int64_t *pnDays);
1245
1247static void
1249 enum QCBORDecodeTagReq uTagRequirement,
1250 UsefulBufC *pURI);
1251
1253static void
1255 int64_t nLabel,
1256 enum QCBORDecodeTagReq uTagRequirement,
1257 UsefulBufC *pURI);
1258
1260static void
1262 const char *szLabel,
1263 enum QCBORDecodeTagReq uTagRequirement,
1264 UsefulBufC *pURI);
1265
1267static void
1269 enum QCBORDecodeTagReq uTagRequirement,
1270 UsefulBufC *pB64Text);
1271
1273static void
1275 int64_t nLabel,
1276 enum QCBORDecodeTagReq uTagRequirement,
1277 UsefulBufC *pB64Text);
1278
1280static void
1282 const char *szLabel,
1283 enum QCBORDecodeTagReq uTagRequirement,
1284 UsefulBufC *pB64Text);
1285
1287static void
1289 enum QCBORDecodeTagReq uTagRequirement,
1290 UsefulBufC *pB64Text);
1291
1293static void
1295 int64_t nLabel,
1296 enum QCBORDecodeTagReq uTagRequirement,
1297 UsefulBufC *pB64Text);
1298
1300static void
1302 const char *szLabel,
1303 enum QCBORDecodeTagReq uTagRequirement,
1304 UsefulBufC *pB64Text);
1305
1307static void
1309 enum QCBORDecodeTagReq uTagRequirement,
1310 UsefulBufC *pRegex);
1311
1313static void
1315 int64_t nLabel,
1316 enum QCBORDecodeTagReq uTagRequirement,
1317 UsefulBufC *pRegex);
1318
1320static void
1322 const char *szLabel,
1323 enum QCBORDecodeTagReq uTagRequirement,
1324 UsefulBufC *pRegex);
1325
1327static void
1329 enum QCBORDecodeTagReq uTagRequirement,
1330 UsefulBufC *pMessage,
1331 bool *pbIsTag257);
1332
1334static void
1336 int64_t nLabel,
1337 enum QCBORDecodeTagReq uTagRequirement,
1338 UsefulBufC *pMessage,
1339 bool *pbIsTag257);
1340
1342static void
1344 const char *szLabel,
1345 enum QCBORDecodeTagReq uTagRequirement,
1346 UsefulBufC *pMessage,
1347 bool *pbIsTag257);
1348
1350static void
1352 enum QCBORDecodeTagReq uTagRequirement,
1353 UsefulBufC *pUUID);
1354
1356static void
1358 int64_t nLabel,
1359 enum QCBORDecodeTagReq uTagRequirement,
1360 UsefulBufC *pUUID);
1361
1363static void
1365 const char *szLabel,
1366 enum QCBORDecodeTagReq uTagRequirement,
1367 UsefulBufC *pUUID);
1368
1372#endif /* ! QCBOR_DISABLE_TAGS */
1373
1374
1375/* ========================================================================= *
1376 * END OF DEPRECATED FUNCTIONS *
1377 * ========================================================================= */
1378
1379
1380
1381
1382/* ========================================================================= *
1383 * BEGINNING OF PRIVATE AND INLINE IMPLEMENTATION *
1384 * ========================================================================= */
1385
1387void
1388QCBORDecode_Private_GetTaggedString(QCBORDecodeContext *pMe,
1389 enum QCBORDecodeTagReq uTagRequirement,
1390 uint8_t uQCBOR_Type,
1391 uint64_t uTagNumber,
1392 UsefulBufC *pBstr);
1393
1395void
1396QCBORDecode_Private_GetTaggedStringInMapN(QCBORDecodeContext *pMe,
1397 const int64_t nLabel,
1398 enum QCBORDecodeTagReq uTagRequirement,
1399 const uint8_t uQCBOR_Type,
1400 const uint64_t uTagNumber,
1401 UsefulBufC *pString);
1402
1404void
1405QCBORDecode_Private_GetTaggedStringInMapSZ(QCBORDecodeContext *pMe,
1406 const char *szLabel,
1407 enum QCBORDecodeTagReq uTagRequirement,
1408 uint8_t uQCBOR_Type,
1409 uint64_t uTagNumber,
1410 UsefulBufC *pString);
1411
1413void
1414QCBORDecode_Private_ProcessTagItemMulti(QCBORDecodeContext *pMe,
1415 QCBORItem *pItem,
1416 enum QCBORDecodeTagReq uTagRequirement,
1417 const uint8_t uQCBORTypes[],
1418 const uint64_t uTagNumbers[],
1420 size_t uOffset);
1421
1423void
1424QCBORDecode_Private_ProcessTagItem(QCBORDecodeContext *pMe,
1425 QCBORItem *pItem,
1426 enum QCBORDecodeTagReq uTagRequirement,
1427 const uint8_t uQCBORTypes[],
1428 const uint64_t uTagNumber,
1430 size_t uOffset);
1431
1432
1433#ifndef QCBOR_DISABLE_TAGS
1434static inline void
1436 const struct QCBORTagDecoderEntry *pTagDecoderTable,
1437 void *pTagDecodersContext)
1438{
1439 pMe->pTagDecoderTable = pTagDecoderTable;
1440 pMe->pTagDecodersContext = pTagDecodersContext;
1441}
1442
1443#endif /* ! QCBOR_DISABLE_TAGS */
1444
1445
1446
1447
1448static inline void
1450 enum QCBORDecodeTagReq uTagRequirement,
1451 UsefulBufC *pValue)
1452{
1453 QCBORDecode_Private_GetTaggedString(pMe,
1454 uTagRequirement,
1457 pValue);
1458}
1459
1460static inline void
1462 const int64_t nLabel,
1463 enum QCBORDecodeTagReq uTagRequirement,
1464 UsefulBufC *pText)
1465{
1466 QCBORDecode_Private_GetTaggedStringInMapN(pMe,
1467 nLabel,
1468 uTagRequirement,
1471 pText);
1472}
1473
1474static inline void
1476 const char *szLabel,
1477 enum QCBORDecodeTagReq uTagRequirement,
1478 UsefulBufC *pText)
1479{
1480 QCBORDecode_Private_GetTaggedStringInMapSZ(pMe,
1481 szLabel,
1482 uTagRequirement,
1485 pText);
1486}
1487
1488static inline void
1490 enum QCBORDecodeTagReq uTagRequirement,
1491 UsefulBufC *pValue)
1492{
1493 QCBORDecode_Private_GetTaggedString(pMe,
1494 uTagRequirement,
1497 pValue);
1498}
1499
1500static inline void
1502 const int64_t nLabel,
1503 enum QCBORDecodeTagReq uTagRequirement,
1504 UsefulBufC *pText)
1505{
1506 QCBORDecode_Private_GetTaggedStringInMapN(pMe,
1507 nLabel,
1508 uTagRequirement,
1511 pText);
1512}
1513
1514static inline void
1516 const char *szLabel,
1517 enum QCBORDecodeTagReq uTagRequirement,
1518 UsefulBufC *pText)
1519{
1520 QCBORDecode_Private_GetTaggedStringInMapSZ(pMe,
1521 szLabel,
1522 uTagRequirement,
1525 pText);
1526
1527}
1528
1529
1530static inline void
1532 const enum QCBORDecodeTagReq uTagRequirement,
1533 UsefulBufC *pUUID)
1534{
1535 QCBORDecode_Private_GetTaggedString(pMe,
1536 uTagRequirement,
1539 pUUID);
1540}
1541
1542static inline void
1544 const int64_t nLabel,
1545 const enum QCBORDecodeTagReq uTagRequirement,
1546 UsefulBufC *pUUID)
1547{
1548 QCBORDecode_Private_GetTaggedStringInMapN(pMe,
1549 nLabel,
1550 uTagRequirement,
1553 pUUID);
1554}
1555
1556static inline void
1558 const char *szLabel,
1559 const enum QCBORDecodeTagReq uTagRequirement,
1560 UsefulBufC *pUUID)
1561{
1562 QCBORDecode_Private_GetTaggedStringInMapSZ(pMe,
1563 szLabel,
1564 uTagRequirement,
1567 pUUID);
1568}
1569
1570
1571static inline void
1573 const enum QCBORDecodeTagReq uTagRequirement,
1574 UsefulBufC *pB64Text)
1575{
1576 QCBORDecode_Private_GetTaggedString(pMe,
1577 uTagRequirement,
1580 pB64Text);
1581}
1582
1583static inline void
1585 const int64_t nLabel,
1586 const enum QCBORDecodeTagReq uTagRequirement,
1587 UsefulBufC *pB64Text)
1588{
1589 QCBORDecode_Private_GetTaggedStringInMapN(pMe,
1590 nLabel,
1591 uTagRequirement,
1594 pB64Text);
1595}
1596
1597static inline void
1599 const char *szLabel,
1600 const enum QCBORDecodeTagReq uTagRequirement,
1601 UsefulBufC *pB64Text)
1602{
1603 QCBORDecode_Private_GetTaggedStringInMapSZ(pMe,
1604 szLabel,
1605 uTagRequirement,
1608 pB64Text);
1609}
1610
1611
1612static inline void
1614 const enum QCBORDecodeTagReq uTagRequirement,
1615 UsefulBufC *pB64Text)
1616{
1617 QCBORDecode_Private_GetTaggedString(pMe,
1618 uTagRequirement,
1621 pB64Text);
1622}
1623
1624static inline void
1626 const int64_t nLabel,
1627 const enum QCBORDecodeTagReq uTagRequirement,
1628 UsefulBufC *pB64Text)
1629{
1630 QCBORDecode_Private_GetTaggedStringInMapN(pMe,
1631 nLabel,
1632 uTagRequirement,
1635 pB64Text);
1636}
1637
1638static inline void
1640 const char *szLabel,
1641 const enum QCBORDecodeTagReq uTagRequirement,
1642 UsefulBufC *pB64Text)
1643{
1644 QCBORDecode_Private_GetTaggedStringInMapSZ(pMe,
1645 szLabel,
1646 uTagRequirement,
1649 pB64Text);
1650}
1651
1652
1653static inline void
1655 const enum QCBORDecodeTagReq uTagRequirement,
1656 UsefulBufC *pRegex)
1657{
1658 QCBORDecode_Private_GetTaggedString(pMe,
1659 uTagRequirement,
1662 pRegex);
1663}
1664
1665static inline void
1667 const int64_t nLabel,
1668 const enum QCBORDecodeTagReq uTagRequirement,
1669 UsefulBufC *pRegex)
1670{
1671 QCBORDecode_Private_GetTaggedStringInMapN(pMe,
1672 nLabel,
1673 uTagRequirement,
1676 pRegex);
1677}
1678
1679static inline void
1681 const char *szLabel,
1682 const enum QCBORDecodeTagReq uTagRequirement,
1683 UsefulBufC *pRegex)
1684{
1685 QCBORDecode_Private_GetTaggedStringInMapSZ(pMe,
1686 szLabel,
1687 uTagRequirement,
1690 pRegex);
1691}
1692
1693
1694static inline void
1696 const enum QCBORDecodeTagReq uTagRequirement,
1697 UsefulBufC *pUUID)
1698{
1699 QCBORDecode_Private_GetTaggedString(pMe,
1700 uTagRequirement,
1703 pUUID);
1704}
1705
1706static inline void
1708 const int64_t nLabel,
1709 const enum QCBORDecodeTagReq uTagRequirement,
1710 UsefulBufC *pUUID)
1711{
1712 QCBORDecode_Private_GetTaggedStringInMapN(pMe,
1713 nLabel,
1714 uTagRequirement,
1717 pUUID);
1718}
1719
1720static inline void
1722 const char *szLabel,
1723 const enum QCBORDecodeTagReq uTagRequirement,
1724 UsefulBufC *pUUID)
1725{
1726 QCBORDecode_Private_GetTaggedStringInMapSZ(pMe,
1727 szLabel,
1728 uTagRequirement,
1731 pUUID);
1732}
1733
1734
1735/* ======================================================================== *
1736 * END OF PRIVATE INLINE IMPLEMENTATION *
1737 * ======================================================================== */
1738
1739
1740
1741/* ========================================================================= *
1742 * BEGINNING OF INLINES FOR DEPRECATED FUNCTIONS *
1743 * ========================================================================= */
1744
1745static inline void
1747 enum QCBORDecodeTagReq uTagRequirement,
1748 UsefulBufC *pDateString)
1749{
1750 QCBORDecode_GetTDateString(pMe, uTagRequirement, pDateString);
1751}
1752
1753static inline void
1755 int64_t nLabel,
1756 enum QCBORDecodeTagReq uTagRequirement,
1757 UsefulBufC *pDateString)
1758{
1759 QCBORDecode_GetTDateStringInMapN(pMe, nLabel, uTagRequirement, pDateString);
1760}
1761
1762static inline void
1764 const char *szLabel,
1765 enum QCBORDecodeTagReq uTagRequirement,
1766 UsefulBufC *pDateString)
1767{
1768 QCBORDecode_GetTDateStringInMapSZ(pMe, szLabel, uTagRequirement, pDateString);
1769}
1770
1771
1772static inline void
1774 enum QCBORDecodeTagReq uTagRequirement,
1775 int64_t *pnTime)
1776{
1777 QCBORDecode_GetTEpochDate(pMe, uTagRequirement, pnTime);
1778}
1779
1780static inline void
1782 int64_t nLabel,
1783 enum QCBORDecodeTagReq uTagRequirement,
1784 int64_t *pnTime)
1785{
1786 QCBORDecode_GetTEpochDateInMapN(pMe, nLabel, uTagRequirement, pnTime);
1787}
1788
1789static inline void
1791 const char *szLabel,
1792 enum QCBORDecodeTagReq uTagRequirement,
1793 int64_t *pnTime)
1794{
1795 QCBORDecode_GetTEpochDateInMapSZ(pMe, szLabel, uTagRequirement, pnTime);
1796}
1797
1798static inline void
1800 enum QCBORDecodeTagReq uTagRequirement,
1801 UsefulBufC *pDateString)
1802{
1803 QCBORDecode_GetTDaysString(pMe, uTagRequirement, pDateString);
1804}
1805
1806static inline void
1808 int64_t nLabel,
1809 enum QCBORDecodeTagReq uTagRequirement,
1810 UsefulBufC *pDateString)
1811{
1812 QCBORDecode_GetTDaysStringInMapN(pMe, nLabel, uTagRequirement, pDateString);
1813}
1814
1815static inline void
1817 const char *szLabel,
1818 enum QCBORDecodeTagReq uTagRequirement,
1819 UsefulBufC *pDateString)
1820{
1821 QCBORDecode_GetTDaysStringInMapSZ(pMe, szLabel, uTagRequirement, pDateString);
1822}
1823
1824static inline void
1826 enum QCBORDecodeTagReq uTagRequirement,
1827 int64_t *pnDays)
1828{
1829 QCBORDecode_GetTEpochDays(pMe, uTagRequirement, pnDays);
1830}
1831
1832static inline void
1834 int64_t nLabel,
1835 enum QCBORDecodeTagReq uTagRequirement,
1836 int64_t *pnDays)
1837{
1838 QCBORDecode_GetTEpochDaysInMapN(pMe, nLabel, uTagRequirement, pnDays);
1839}
1840
1841static inline void
1843 const char *szLabel,
1844 enum QCBORDecodeTagReq uTagRequirement,
1845 int64_t *pnDays)
1846{
1847 QCBORDecode_GetTEpochDaysInMapSZ(pMe, szLabel, uTagRequirement, pnDays);
1848}
1849
1850static inline void
1852 enum QCBORDecodeTagReq uTagRequirement,
1853 UsefulBufC *pURI)
1854{
1855 QCBORDecode_GetTURI(pMe, uTagRequirement, pURI);
1856}
1857
1858static inline void
1860 int64_t nLabel,
1861 enum QCBORDecodeTagReq uTagRequirement,
1862 UsefulBufC *pURI)
1863{
1864 QCBORDecode_GetTURIInMapN(pMe, nLabel, uTagRequirement, pURI);
1865}
1866
1867static inline void
1869 const char *szLabel,
1870 enum QCBORDecodeTagReq uTagRequirement,
1871 UsefulBufC *pURI)
1872{
1873 QCBORDecode_GetTURIInMapSZ(pMe, szLabel, uTagRequirement, pURI);
1874}
1875
1876static inline void
1878 enum QCBORDecodeTagReq uTagRequirement,
1879 UsefulBufC *pB64Text)
1880{
1881 QCBORDecode_GetTB64(pMe, uTagRequirement, pB64Text);
1882}
1883
1884static inline void
1886 int64_t nLabel,
1887 enum QCBORDecodeTagReq uTagRequirement,
1888 UsefulBufC *pB64Text)
1889{
1890 QCBORDecode_GetTB64InMapN(pMe, nLabel, uTagRequirement, pB64Text);
1891}
1892
1893static inline void
1895 const char *szLabel,
1896 enum QCBORDecodeTagReq uTagRequirement,
1897 UsefulBufC *pB64Text)
1898{
1899 QCBORDecode_GetTB64InMapSZ(pMe, szLabel, uTagRequirement, pB64Text);
1900}
1901
1902static inline void
1904 enum QCBORDecodeTagReq uTagRequirement,
1905 UsefulBufC *pB64Text)
1906{
1907 QCBORDecode_GetTB64URL(pMe, uTagRequirement, pB64Text);
1908}
1909
1910static inline void
1912 int64_t nLabel,
1913 enum QCBORDecodeTagReq uTagRequirement,
1914 UsefulBufC *pB64Text)
1915{
1916 QCBORDecode_GetTB64URLInMapN(pMe, nLabel, uTagRequirement, pB64Text);
1917}
1918
1919static inline void
1921 const char *szLabel,
1922 enum QCBORDecodeTagReq uTagRequirement,
1923 UsefulBufC *pB64Text)
1924{
1925 QCBORDecode_GetTB64URLInMapSZ(pMe, szLabel, uTagRequirement, pB64Text);
1926}
1927
1928static inline void
1930 enum QCBORDecodeTagReq uTagRequirement,
1931 UsefulBufC *pRegex)
1932{
1933 QCBORDecode_GetTRegex(pMe, uTagRequirement, pRegex);
1934}
1935
1936static inline void
1938 int64_t nLabel,
1939 enum QCBORDecodeTagReq uTagRequirement,
1940 UsefulBufC *pRegex)
1941{
1942 QCBORDecode_GetTRegexInMapN(pMe, nLabel, uTagRequirement, pRegex);
1943}
1944
1945static inline void
1947 const char *szLabel,
1948 enum QCBORDecodeTagReq uTagRequirement,
1949 UsefulBufC *pRegex)
1950{
1951 QCBORDecode_GetTRegexInMapSZ(pMe, szLabel, uTagRequirement, pRegex);
1952}
1953
1954static inline void
1956 enum QCBORDecodeTagReq uTagRequirement,
1957 UsefulBufC *pMessage,
1958 bool *pbIsTag257)
1959{
1960 QCBORDecode_GetTMIMEMessage(pMe, uTagRequirement, pMessage, pbIsTag257);
1961}
1962
1963static inline void
1965 int64_t nLabel,
1966 enum QCBORDecodeTagReq uTagRequirement,
1967 UsefulBufC *pMessage,
1968 bool *pbIsTag257)
1969{
1970 QCBORDecode_GetTMIMEMessageInMapN(pMe, nLabel, uTagRequirement, pMessage, pbIsTag257);
1971}
1972
1973static inline void
1975 const char *szLabel,
1976 enum QCBORDecodeTagReq uTagRequirement,
1977 UsefulBufC *pMessage,
1978 bool *pbIsTag257)
1979{
1980 QCBORDecode_GetTMIMEMessageInMapSZ(pMe, szLabel, uTagRequirement, pMessage, pbIsTag257);
1981}
1982
1983static inline void
1985 enum QCBORDecodeTagReq uTagRequirement,
1986 UsefulBufC *pUUID)
1987{
1988 QCBORDecode_GetTBinaryUUID(pMe, uTagRequirement, pUUID);
1989}
1990
1991static inline void
1993 int64_t nLabel,
1994 enum QCBORDecodeTagReq uTagRequirement,
1995 UsefulBufC *pUUID)
1996{
1997 QCBORDecode_GetTBinaryUUIDInMapN(pMe, nLabel, uTagRequirement, pUUID);
1998}
1999
2000static inline void
2002 const char *szLabel,
2003 enum QCBORDecodeTagReq uTagRequirement,
2004 UsefulBufC *pUUID)
2005{
2006 QCBORDecode_GetTBinaryUUIDInMapSZ(pMe, szLabel, uTagRequirement, pUUID);
2007}
2008
2009
2010/* ========================================================================= *
2011 * END OF INLINES FOR DEPRECATED FUNCTIONS *
2012 * ========================================================================= */
2013
2014
2015#ifdef __cplusplus
2016}
2017#endif
2018
2019#endif /* qcbor_tag_decode_h */
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