QCBOR
Loading...
Searching...
No Matches
qcbor_tag_encode.h
Go to the documentation of this file.
1/* ===========================================================================
2 * qcbor_tag_encode.h
3 * Forked from qcbor_encode.h 12/17/2024
4 *
5 * Copyright (c) 2016-2018, The Linux Foundation.
6 * Copyright (c) 2018-2024, Laurence Lundblade.
7 * Copyright (c) 2021, Arm Limited.
8 * All rights reserved.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions are
12 * met:
13 * * Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * * Redistributions in binary form must reproduce the above
16 * copyright notice, this list of conditions and the following
17 * disclaimer in the documentation and/or other materials provided
18 * with the distribution.
19 * * Neither the name of The Linux Foundation nor the names of its
20 * contributors, nor the name "Laurence Lundblade" may be used to
21 * endorse or promote products derived from this software without
22 * specific prior written permission.
23 *
24 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
25 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
27 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
28 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
31 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
32 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
33 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
34 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 * ========================================================================= */
36
37#ifndef qcbor_tag_encode_h
38#define qcbor_tag_encode_h
39
40
41#include "qcbor/qcbor_common.h"
42#include "qcbor/qcbor_private.h"
44#include <stdbool.h>
45
46
47#ifdef __cplusplus
48extern "C" {
49#if 0
50} // Keep editor indention formatting happy
51#endif
52#endif
53
54
129
130
131
153static void
154QCBOREncode_AddTagNumber(QCBOREncodeContext *pCtx, uint64_t uTagNumber);
155
156
157
158
193static void
195 enum QCBOREncodeTagReq uTagRequirement,
196 int64_t nDate);
197
199static void
201 const char *szLabel,
202 enum QCBOREncodeTagReq uTagRequirement,
203 int64_t nDate);
204
206static void
208 int64_t nLabel,
209 enum QCBOREncodeTagReq uTagRequirement,
210 int64_t nDate);
211
212
231static void
233 enum QCBOREncodeTagReq uTagRequirement,
234 int64_t nDays);
235
237static void
239 const char *szLabel,
240 enum QCBOREncodeTagReq uTagRequirement,
241 int64_t nDays);
242
244static void
246 int64_t nLabel,
247 enum QCBOREncodeTagReq uTagRequirement,
248 int64_t nDays);
249
250
266static void
268 enum QCBOREncodeTagReq uTagRequirement,
269 UsefulBufC UUID);
270
272static void
274 const char *szLabel,
275 enum QCBOREncodeTagReq uTagRequirement,
276 UsefulBufC UUID);
277
279static void
281 int64_t nLabel,
282 enum QCBOREncodeTagReq uTagRequirement,
283 UsefulBufC UUID);
284
285
305static void
307 enum QCBOREncodeTagReq uTagRequirement,
308 UsefulBufC URI);
309
311static void
313 const char *szLabel,
314 enum QCBOREncodeTagReq uTagRequirement,
315 UsefulBufC URI);
316
318static void
320 int64_t nLabel,
321 enum QCBOREncodeTagReq uTagRequirement,
322 UsefulBufC URI);
323
324
339static void
341 enum QCBOREncodeTagReq uTagRequirement,
342 UsefulBufC B64Text);
343
345static void
347 const char *szLabel,
348 enum QCBOREncodeTagReq uTagRequirement,
349 UsefulBufC B64Text);
350
352static void
354 int64_t nLabel,
355 enum QCBOREncodeTagReq uTagRequirement,
356 UsefulBufC B64Text);
357
358
374static void
376 enum QCBOREncodeTagReq uTagRequirement,
377 UsefulBufC B64Text);
378
380static void
382 const char *szLabel,
383 enum QCBOREncodeTagReq uTagRequirement,
384 UsefulBufC B64Text);
385
387static void
389 int64_t nLabel,
390 enum QCBOREncodeTagReq uTagRequirement,
391 UsefulBufC B64Text);
392
393
408static void
410 enum QCBOREncodeTagReq uTagRequirement,
411 UsefulBufC Regex);
412
414static void
416 const char *szLabel,
417 enum QCBOREncodeTagReq uTagRequirement,
418 UsefulBufC Regex);
419
421static void
423 int64_t nLabel,
424 enum QCBOREncodeTagReq uTagRequirement,
425 UsefulBufC Regex);
426
427
456static void
458 enum QCBOREncodeTagReq uTagRequirement,
459 UsefulBufC MIMEData);
460
462static void
464 const char *szLabel,
465 enum QCBOREncodeTagReq uTagRequirement,
466 UsefulBufC MIMEData);
467
469static void
471 int64_t nLabel,
472 enum QCBOREncodeTagReq uTagRequirement,
473 UsefulBufC MIMEData);
474
475
498static void
500 enum QCBOREncodeTagReq uTagRequirement,
501 const char *szDate);
502
504static void
506 const char *szLabel,
507 enum QCBOREncodeTagReq uTagRequirement,
508 const char *szDate);
509
511static void
513 int64_t nLabel,
514 enum QCBOREncodeTagReq uTagRequirement,
515 const char *szDate);
516
517
543static void
545 enum QCBOREncodeTagReq uTagRequirement,
546 const char *szDate);
547
549static void
551 const char *szLabel,
552 enum QCBOREncodeTagReq uTagRequirement,
553 const char *szDate);
554
556static void
558 int64_t nLabel,
559 enum QCBOREncodeTagReq uTagRequirement,
560 const char *szDate);
561
562
563
564
565/* ========================================================================= *
566 * BEGINNING OF DEPRECATED FUNCTION DECLARATIONS *
567 * *
568 * There is no plan to remove these in future versions. *
569 * They just have been replaced by something better. *
570 * ========================================================================= */
571
578static void
579QCBOREncode_AddDateEpoch(QCBOREncodeContext *pCtx, int64_t nDate);
580
582static void
583QCBOREncode_AddDateEpochToMap(QCBOREncodeContext *pCtx, const char *szLabel, int64_t nDate);
584
586static void
587QCBOREncode_AddDateEpochToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, int64_t nDate);
588
590static void
592
594static void
595QCBOREncode_AddBinaryUUIDToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC UUID);
596
598static void
600
602static void
603QCBOREncode_AddTag(QCBOREncodeContext *pCtx, uint64_t uTagNumber);
604
606static void
608
610static void
611QCBOREncode_AddURIToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC URI);
612
614static void
615QCBOREncode_AddURIToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC URI);
616
618static void
620
622static void
623QCBOREncode_AddB64TextToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC B64Text);
624
626static void
627QCBOREncode_AddB64TextToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC B64Text);
628
630static void
632
634static void
636 const char *szLabel,
637 UsefulBufC B64Text);
638
640static void
642 int64_t nLabel,
643 UsefulBufC B64Text);
644
646static void
648
650static void
652 const char *szLabel,
653 UsefulBufC Regex);
654
656static void
658 int64_t nLabel,
659 UsefulBufC Regex);
660
662static void
664
666static void
668 const char *szLabel,
669 UsefulBufC MIMEData);
670
672static void
674 int64_t nLabel,
675 UsefulBufC MIMEData);
676
678static void
679QCBOREncode_AddDateString(QCBOREncodeContext *pCtx, const char *szDate);
680
682static void
684 const char *szLabel,
685 const char *szDate);
686
688static void
690 int64_t nLabel,
691 const char *szDate);
692
695/* ========================================================================= *
696 * END OF DEPRECATED FUNCTION DECLARATIONS *
697 * ========================================================================= */
698
699
700
701
702/* ========================================================================= *
703 * BEGINNING OF PRIVATE INLINE IMPLEMENTATION
704 * Note that the entire qcbor_tag_encode implementation is line.
705 * ========================================================================= */
706
707
708static inline void
709QCBOREncode_AddTagNumber(QCBOREncodeContext *pMe, const uint64_t uTagNumber)
710{
711 QCBOREncode_Private_AppendCBORHead(pMe, CBOR_MAJOR_TYPE_TAG, uTagNumber, 0);
712}
713
714
715static inline void
716QCBOREncode_AddTag(QCBOREncodeContext *pMe, const uint64_t uTagNumber)
717{
718 QCBOREncode_AddTagNumber(pMe, uTagNumber);
719}
720
721
722static inline void
724 const enum QCBOREncodeTagReq uTagRequirement,
725 const int64_t nDate)
726{
727 if(uTagRequirement == QCBOR_ENCODE_AS_TAG) {
729 }
730 QCBOREncode_AddInt64(pMe, nDate);
731}
732
733static inline void
735 const char *szLabel,
736 const enum QCBOREncodeTagReq uTagRequirement,
737 const int64_t nDate)
738{
739 QCBOREncode_AddSZString(pMe, szLabel);
740 QCBOREncode_AddTDateEpoch(pMe, uTagRequirement, nDate);
741}
742
743static inline void
745 const int64_t nLabel,
746 const enum QCBOREncodeTagReq uTagRequirement,
747 const int64_t nDate)
748{
749 QCBOREncode_AddInt64(pMe, nLabel);
750 QCBOREncode_AddTDateEpoch(pMe, uTagRequirement, nDate);
751}
752
753static inline void
755 const int64_t nDate)
756{
758}
759
760static inline void
762 const char *szLabel,
763 const int64_t nDate)
764{
765 QCBOREncode_AddSZString(pMe, szLabel);
766 QCBOREncode_AddDateEpoch(pMe, nDate);
767}
768
769static inline void
771 const int64_t nLabel,
772 const int64_t nDate)
773{
774 QCBOREncode_AddInt64(pMe, nLabel);
775 QCBOREncode_AddDateEpoch(pMe, nDate);
776}
777
778
779static inline void
781 const enum QCBOREncodeTagReq uTagRequirement,
782 const int64_t nDays)
783{
784 if(uTagRequirement == QCBOR_ENCODE_AS_TAG) {
786 }
787 QCBOREncode_AddInt64(pMe, nDays);
788}
789
790static inline void
792 const char *szLabel,
793 const enum QCBOREncodeTagReq uTagRequirement,
794 const int64_t nDays)
795{
796 QCBOREncode_AddSZString(pMe, szLabel);
797 QCBOREncode_AddTDaysEpoch(pMe, uTagRequirement, nDays);
798}
799
800static inline void
802 const int64_t nLabel,
803 const enum QCBOREncodeTagReq uTagRequirement,
804 const int64_t nDays)
805{
806 QCBOREncode_AddInt64(pMe, nLabel);
807 QCBOREncode_AddTDaysEpoch(pMe, uTagRequirement, nDays);
808}
809
810
811
812static inline void
814 const enum QCBOREncodeTagReq uTagRequirement,
815 const UsefulBufC UUID)
816{
817 if(uTagRequirement == QCBOR_ENCODE_AS_TAG) {
819 }
820 QCBOREncode_AddBytes(pMe, UUID);
821}
822
823static inline void
825 const char *szLabel,
826 const enum QCBOREncodeTagReq uTagRequirement,
827 const UsefulBufC UUID)
828{
829 QCBOREncode_AddSZString(pMe, szLabel);
830 QCBOREncode_AddTBinaryUUID(pMe, uTagRequirement, UUID);
831}
832
833static inline void
835 const int64_t nLabel,
836 const enum QCBOREncodeTagReq uTagRequirement,
837 const UsefulBufC UUID)
838{
839 QCBOREncode_AddInt64(pMe, nLabel);
840 QCBOREncode_AddTBinaryUUID(pMe, uTagRequirement, UUID);
841}
842
843static inline void
848
849static inline void
851 const char *szLabel,
852 const UsefulBufC UUID)
853{
855}
856
857static inline void
859 const int64_t nLabel,
860 const UsefulBufC UUID)
861{
863 nLabel,
865 UUID);
866}
867
868
869static inline void
871 const enum QCBOREncodeTagReq uTagRequirement,
872 const UsefulBufC URI)
873{
874 if(uTagRequirement == QCBOR_ENCODE_AS_TAG) {
876 }
877 QCBOREncode_AddText(pMe, URI);
878}
879
880static inline void
882 const char *szLabel,
883 const enum QCBOREncodeTagReq uTagRequirement,
884 const UsefulBufC URI)
885{
886 QCBOREncode_AddSZString(pMe, szLabel);
887 QCBOREncode_AddTURI(pMe, uTagRequirement, URI);
888}
889
890static inline void
892 const int64_t nLabel,
893 const enum QCBOREncodeTagReq uTagRequirement,
894 const UsefulBufC URI)
895{
896 QCBOREncode_AddInt64(pMe, nLabel);
897 QCBOREncode_AddTURI(pMe, uTagRequirement, URI);
898}
899
900static inline void
905
906static inline void
908 const char *szLabel,
909 const UsefulBufC URI)
910{
912}
913
914static inline void
916 const int64_t nLabel,
917 const UsefulBufC URI)
918{
920}
921
922
923
924static inline void
926 const enum QCBOREncodeTagReq uTagRequirement,
927 const UsefulBufC B64Text)
928{
929 if(uTagRequirement == QCBOR_ENCODE_AS_TAG) {
931 }
932 QCBOREncode_AddText(pMe, B64Text);
933}
934
935static inline void
937 const char *szLabel,
938 const enum QCBOREncodeTagReq uTagRequirement,
939 const UsefulBufC B64Text)
940{
941 QCBOREncode_AddSZString(pMe, szLabel);
942 QCBOREncode_AddTB64Text(pMe, uTagRequirement, B64Text);
943}
944
945static inline void
947 const int64_t nLabel,
948 const enum QCBOREncodeTagReq uTagRequirement,
949 const UsefulBufC B64Text)
950{
951 QCBOREncode_AddInt64(pMe, nLabel);
952 QCBOREncode_AddTB64Text(pMe, uTagRequirement, B64Text);
953}
954
955static inline void
960
961static inline void
963 const char *szLabel,
964 const UsefulBufC B64Text)
965{
967}
968
969static inline void
971 const int64_t nLabel,
972 const UsefulBufC B64Text)
973{
975}
976
977
978
979static inline void
981 const enum QCBOREncodeTagReq uTagRequirement,
982 const UsefulBufC B64Text)
983{
984 if(uTagRequirement == QCBOR_ENCODE_AS_TAG) {
986 }
987 QCBOREncode_AddText(pMe, B64Text);
988}
989
990static inline void
992 const char *szLabel,
993 const enum QCBOREncodeTagReq uTagRequirement,
994 const UsefulBufC B64Text)
995{
996 QCBOREncode_AddSZString(pMe, szLabel);
997 QCBOREncode_AddTB64URLText(pMe, uTagRequirement, B64Text);
998}
999
1000static inline void
1002 const int64_t nLabel,
1003 const enum QCBOREncodeTagReq uTagRequirement,
1004 const UsefulBufC B64Text)
1005{
1006 QCBOREncode_AddInt64(pMe, nLabel);
1007 QCBOREncode_AddTB64URLText(pMe, uTagRequirement, B64Text);
1008}
1009
1010static inline void
1015
1016static inline void
1018 const char *szLabel,
1019 const UsefulBufC B64Text)
1020{
1022 szLabel,
1024 B64Text);
1025}
1026
1027static inline void
1029 const int64_t nLabel,
1030 const UsefulBufC B64Text)
1031{
1033}
1034
1035
1036static inline void
1038 const enum QCBOREncodeTagReq uTagRequirement,
1039 const UsefulBufC Regex)
1040{
1041 if(uTagRequirement == QCBOR_ENCODE_AS_TAG) {
1043 }
1044 QCBOREncode_AddText(pMe, Regex);
1045}
1046
1047static inline void
1049 const char *szLabel,
1050 const enum QCBOREncodeTagReq uTagRequirement,
1051 const UsefulBufC Regex)
1052{
1053 QCBOREncode_AddSZString(pMe, szLabel);
1054 QCBOREncode_AddTRegex(pMe, uTagRequirement, Regex);
1055}
1056
1057static inline void
1059 const int64_t nLabel,
1060 const enum QCBOREncodeTagReq uTagRequirement,
1061 const UsefulBufC Regex)
1062{
1063 QCBOREncode_AddInt64(pMe, nLabel);
1064 QCBOREncode_AddTRegex(pMe, uTagRequirement, Regex);
1065}
1066
1067static inline void
1072
1073static inline void
1075 const char *szLabel,
1076 const UsefulBufC Regex)
1077{
1079}
1080
1081static inline void
1083 const int64_t nLabel,
1084 const UsefulBufC Regex)
1085{
1087
1088}
1089
1090
1091static inline void
1093 const enum QCBOREncodeTagReq uTagRequirement,
1094 const UsefulBufC MIMEData)
1095{
1096 if(uTagRequirement == QCBOR_ENCODE_AS_TAG) {
1098 }
1099 QCBOREncode_AddBytes(pMe, MIMEData);
1100}
1101
1102static inline void
1104 const char *szLabel,
1105 const enum QCBOREncodeTagReq uTagRequirement,
1106 const UsefulBufC MIMEData)
1107{
1108 QCBOREncode_AddSZString(pMe, szLabel);
1109 QCBOREncode_AddTMIMEData(pMe, uTagRequirement, MIMEData);
1110}
1111
1112static inline void
1114 const int64_t nLabel,
1115 const enum QCBOREncodeTagReq uTagRequirement,
1116 const UsefulBufC MIMEData)
1117{
1118 QCBOREncode_AddInt64(pMe, nLabel);
1119 QCBOREncode_AddTMIMEData(pMe, uTagRequirement, MIMEData);
1120}
1121
1122static inline void
1127
1128static inline void
1130 const char *szLabel,
1131 const UsefulBufC MIMEData)
1132{
1134}
1135
1136static inline void
1138 const int64_t nLabel,
1139 const UsefulBufC MIMEData)
1140{
1142}
1143
1144
1145static inline void
1147 const enum QCBOREncodeTagReq uTagRequirement,
1148 const char *szDate)
1149{
1150 if(uTagRequirement == QCBOR_ENCODE_AS_TAG) {
1152 }
1153 QCBOREncode_AddSZString(pMe, szDate);
1154}
1155
1156static inline void
1158 const char *szLabel,
1159 const enum QCBOREncodeTagReq uTagRequirement,
1160 const char *szDate)
1161{
1162 QCBOREncode_AddSZString(pMe, szLabel);
1163 QCBOREncode_AddTDateString(pMe, uTagRequirement, szDate);
1164}
1165
1166static inline void
1168 const int64_t nLabel,
1169 const enum QCBOREncodeTagReq uTagRequirement,
1170 const char *szDate)
1171{
1172 QCBOREncode_AddInt64(pMe, nLabel);
1173 QCBOREncode_AddTDateString(pMe, uTagRequirement, szDate);
1174}
1175
1176static inline void
1178{
1180}
1181
1182static inline void
1184 const char *szLabel,
1185 const char *szDate)
1186{
1188}
1189
1190static inline void
1192 const int64_t nLabel,
1193 const char *szDate)
1194{
1196}
1197
1198
1199static inline void
1201 const enum QCBOREncodeTagReq uTagRequirement,
1202 const char *szDate)
1203{
1204 if(uTagRequirement == QCBOR_ENCODE_AS_TAG) {
1206 }
1207 QCBOREncode_AddSZString(pMe, szDate);
1208}
1209
1210static inline void
1212 const char *szLabel,
1213 const enum QCBOREncodeTagReq uTagRequirement,
1214 const char *szDate)
1215{
1216 QCBOREncode_AddSZString(pMe, szLabel);
1217 QCBOREncode_AddTDaysString(pMe, uTagRequirement, szDate);
1218}
1219
1220static inline void
1222 const int64_t nLabel,
1223 const enum QCBOREncodeTagReq uTagRequirement,
1224 const char *szDate)
1225{
1226 QCBOREncode_AddInt64(pMe, nLabel);
1227 QCBOREncode_AddTDaysString(pMe, uTagRequirement, szDate);
1228}
1229
1230
1231/* ======================================================================== *
1232 * END OF PRIVATE INLINE IMPLEMENTATION *
1233 * ======================================================================== */
1234
1235
1236#ifdef __cplusplus
1237}
1238#endif
1239
1240#endif /* qcbor_tag_encode_h */
static void QCBOREncode_AddDateEpoch(QCBOREncodeContext *pCtx, int64_t nDate)
Definition qcbor_tag_encode.h:754
static void QCBOREncode_AddB64URLTextToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC B64Text)
Definition qcbor_tag_encode.h:1017
static void QCBOREncode_AddRegexToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC Regex)
Definition qcbor_tag_encode.h:1082
static void QCBOREncode_AddB64URLTextToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC B64Text)
Definition qcbor_tag_encode.h:1028
static void QCBOREncode_AddURIToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC URI)
Definition qcbor_tag_encode.h:915
static void QCBOREncode_AddBinaryUUIDToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC UUID)
Definition qcbor_tag_encode.h:858
static void QCBOREncode_AddRegexToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC Regex)
Definition qcbor_tag_encode.h:1074
static void QCBOREncode_AddDateStringToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, const char *szDate)
Definition qcbor_tag_encode.h:1191
static void QCBOREncode_AddURIToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC URI)
Definition qcbor_tag_encode.h:907
static void QCBOREncode_AddMIMEDataToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC MIMEData)
Definition qcbor_tag_encode.h:1137
static void QCBOREncode_AddB64URLText(QCBOREncodeContext *pCtx, UsefulBufC B64Text)
Definition qcbor_tag_encode.h:1011
static void QCBOREncode_AddBinaryUUID(QCBOREncodeContext *pCtx, UsefulBufC UUID)
Definition qcbor_tag_encode.h:844
static void QCBOREncode_AddDateStringToMap(QCBOREncodeContext *pCtx, const char *szLabel, const char *szDate)
Definition qcbor_tag_encode.h:1183
static void QCBOREncode_AddDateString(QCBOREncodeContext *pCtx, const char *szDate)
Definition qcbor_tag_encode.h:1177
static void QCBOREncode_AddRegex(QCBOREncodeContext *pCtx, UsefulBufC Regex)
Definition qcbor_tag_encode.h:1068
static void QCBOREncode_AddMIMEDataToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC MIMEData)
Definition qcbor_tag_encode.h:1129
static void QCBOREncode_AddMIMEData(QCBOREncodeContext *pCtx, UsefulBufC MIMEData)
Definition qcbor_tag_encode.h:1123
static void QCBOREncode_AddB64Text(QCBOREncodeContext *pCtx, UsefulBufC B64Text)
Definition qcbor_tag_encode.h:956
static void QCBOREncode_AddB64TextToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC B64Text)
Definition qcbor_tag_encode.h:970
static void QCBOREncode_AddBinaryUUIDToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC UUID)
Definition qcbor_tag_encode.h:850
static void QCBOREncode_AddB64TextToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC B64Text)
Definition qcbor_tag_encode.h:962
static void QCBOREncode_AddURI(QCBOREncodeContext *pCtx, UsefulBufC URI)
Definition qcbor_tag_encode.h:901
static void QCBOREncode_AddDateEpochToMap(QCBOREncodeContext *pCtx, const char *szLabel, int64_t nDate)
Definition qcbor_tag_encode.h:761
static void QCBOREncode_AddDateEpochToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, int64_t nDate)
Definition qcbor_tag_encode.h:770
static void QCBOREncode_AddTag(QCBOREncodeContext *pCtx, uint64_t uTagNumber)
Definition qcbor_tag_encode.h:716
#define CBOR_TAG_DAYS_EPOCH
Definition qcbor_common.h:216
#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_DATE_EPOCH
Definition qcbor_common.h:126
#define CBOR_TAG_B64
Definition qcbor_common.h:183
#define CBOR_TAG_BIN_UUID
Definition qcbor_common.h:189
#define CBOR_TAG_REGEX
Definition qcbor_common.h:185
#define CBOR_TAG_BINARY_MIME
Definition qcbor_common.h:222
#define CBOR_TAG_DAYS_STRING
Definition qcbor_common.h:226
struct _QCBOREncodeContext QCBOREncodeContext
Definition qcbor_main_encode.h:311
static void QCBOREncode_AddText(QCBOREncodeContext *pCtx, UsefulBufC Text)
Add a UTF-8 text string to the encoded output.
Definition qcbor_main_encode.h:1477
static void QCBOREncode_AddBytes(QCBOREncodeContext *pCtx, UsefulBufC Bytes)
Add a byte string to the encoded output.
Definition qcbor_main_encode.h:1541
static void QCBOREncode_AddSZString(QCBOREncodeContext *pCtx, const char *szString)
Add a UTF-8 text string to the encoded output.
Definition qcbor_main_encode.h:1508
static void QCBOREncode_AddTMIMEData(QCBOREncodeContext *pCtx, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC MIMEData)
MIME encoded data to the encoded output.
Definition qcbor_tag_encode.h:1092
static void QCBOREncode_AddTDaysString(QCBOREncodeContext *pCtx, enum QCBOREncodeTagReq uTagRequirement, const char *szDate)
Add a date-only string.
Definition qcbor_tag_encode.h:1200
static void QCBOREncode_AddTDaysEpoch(QCBOREncodeContext *pCtx, enum QCBOREncodeTagReq uTagRequirement, int64_t nDays)
Add an epoch-based day-count date.
Definition qcbor_tag_encode.h:780
static void QCBOREncode_AddTDateString(QCBOREncodeContext *pCtx, enum QCBOREncodeTagReq uTagRequirement, const char *szDate)
Add an RFC 3339 date string.
Definition qcbor_tag_encode.h:1146
static void QCBOREncode_AddTDaysEpochToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, enum QCBOREncodeTagReq uTagRequirement, int64_t nDays)
Definition qcbor_tag_encode.h:801
static void QCBOREncode_AddTB64Text(QCBOREncodeContext *pCtx, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC B64Text)
Add Base64-encoded text to encoded output.
Definition qcbor_tag_encode.h:925
static void QCBOREncode_AddTBinaryUUID(QCBOREncodeContext *pCtx, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC UUID)
Add a binary UUID to the encoded output.
Definition qcbor_tag_encode.h:813
static void QCBOREncode_AddTDaysStringToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, enum QCBOREncodeTagReq uTagRequirement, const char *szDate)
Definition qcbor_tag_encode.h:1221
static void QCBOREncode_AddTDateStringToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, enum QCBOREncodeTagReq uTagRequirement, const char *szDate)
Definition qcbor_tag_encode.h:1167
static void QCBOREncode_AddTMIMEDataToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC MIMEData)
Definition qcbor_tag_encode.h:1113
static void QCBOREncode_AddTDaysEpochToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, enum QCBOREncodeTagReq uTagRequirement, int64_t nDays)
Definition qcbor_tag_encode.h:791
static void QCBOREncode_AddTRegexToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC Regex)
Definition qcbor_tag_encode.h:1048
static void QCBOREncode_AddTDateEpochToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, enum QCBOREncodeTagReq uTagRequirement, int64_t nDate)
Definition qcbor_tag_encode.h:744
static void QCBOREncode_AddTRegexToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC Regex)
Definition qcbor_tag_encode.h:1058
QCBOREncodeTagReq
Definition qcbor_tag_encode.h:117
@ QCBOR_ENCODE_AS_BORROWED
Definition qcbor_tag_encode.h:127
@ QCBOR_ENCODE_AS_TAG
Definition qcbor_tag_encode.h:121
static void QCBOREncode_AddTMIMEDataToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC MIMEData)
Definition qcbor_tag_encode.h:1103
static void QCBOREncode_AddTBinaryUUIDToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC UUID)
Definition qcbor_tag_encode.h:834
static void QCBOREncode_AddTB64URLText(QCBOREncodeContext *pCtx, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC B64Text)
Add base64url encoded data to encoded output.
Definition qcbor_tag_encode.h:980
static void QCBOREncode_AddTDateEpoch(QCBOREncodeContext *pCtx, enum QCBOREncodeTagReq uTagRequirement, int64_t nDate)
Add an epoch-based date.
Definition qcbor_tag_encode.h:723
static void QCBOREncode_AddTB64TextToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC B64Text)
Definition qcbor_tag_encode.h:936
static void QCBOREncode_AddTDaysStringToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, enum QCBOREncodeTagReq uTagRequirement, const char *szDate)
Definition qcbor_tag_encode.h:1211
static void QCBOREncode_AddTB64URLTextToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC B64Text)
Definition qcbor_tag_encode.h:991
static void QCBOREncode_AddTB64URLTextToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC B64Text)
Definition qcbor_tag_encode.h:1001
static void QCBOREncode_AddTURIToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC URI)
Definition qcbor_tag_encode.h:881
static void QCBOREncode_AddTagNumber(QCBOREncodeContext *pCtx, uint64_t uTagNumber)
Add a tag number.
Definition qcbor_tag_encode.h:709
static void QCBOREncode_AddTDateEpochToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, enum QCBOREncodeTagReq uTagRequirement, int64_t nDate)
Definition qcbor_tag_encode.h:734
static void QCBOREncode_AddTBinaryUUIDToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC UUID)
Definition qcbor_tag_encode.h:824
static void QCBOREncode_AddTURIToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC URI)
Definition qcbor_tag_encode.h:891
static void QCBOREncode_AddTDateStringToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, enum QCBOREncodeTagReq uTagRequirement, const char *szDate)
Definition qcbor_tag_encode.h:1157
static void QCBOREncode_AddTURI(QCBOREncodeContext *pCtx, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC URI)
Add a text URI to the encoded output.
Definition qcbor_tag_encode.h:870
static void QCBOREncode_AddTRegex(QCBOREncodeContext *pCtx, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC Regex)
Add Perl Compatible Regular Expression.
Definition qcbor_tag_encode.h:1037
static void QCBOREncode_AddTB64TextToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, enum QCBOREncodeTagReq uTagRequirement, UsefulBufC B64Text)
Definition qcbor_tag_encode.h:946
Definition UsefulBuf.h:280