blob: dc6958b15e67f42c29e1c42f61e2823490972d20 [file] [log] [blame]
Jeff Thompson47eecfc2013-07-07 22:56:46 -07001/**
Jeff Thompson7687dc02013-09-13 11:54:07 -07002 * Copyright (C) 2013 Regents of the University of California.
3 * @author: Jeff Thompson <jefft0@remap.ucla.edu>
Jeff Thompson47eecfc2013-07-07 22:56:46 -07004 * See COPYING for copyright and distribution information.
Jeff Thompson76317aa2013-06-25 19:11:48 -07005 */
6
7#ifndef NDN_BINARYXML_H
Jeff Thompsona0d18c92013-08-06 13:55:32 -07008#define NDN_BINARYXML_H
Jeff Thompson76317aa2013-06-25 19:11:48 -07009
Jeff Thompsona0d18c92013-08-06 13:55:32 -070010#ifdef __cplusplus
Jeff Thompson76317aa2013-06-25 19:11:48 -070011extern "C" {
12#endif
13
Jeff Thompsonc5f9d3f2013-06-26 21:31:12 -070014enum {
Jeff Thompsona0d18c92013-08-06 13:55:32 -070015 ndn_BinaryXml_EXT = 0x00,
Jeff Thompsonf0fea002013-07-30 17:22:42 -070016 ndn_BinaryXml_TAG = 0x01,
17 ndn_BinaryXml_DTAG = 0x02,
18 ndn_BinaryXml_ATTR = 0x03,
19 ndn_BinaryXml_DATTR = 0x04,
20 ndn_BinaryXml_BLOB = 0x05,
21 ndn_BinaryXml_UDATA = 0x06,
22 ndn_BinaryXml_CLOSE = 0x0,
Jeff Thompson76317aa2013-06-25 19:11:48 -070023
Jeff Thompsonf0fea002013-07-30 17:22:42 -070024 ndn_BinaryXml_TT_BITS = 3,
25 ndn_BinaryXml_TT_MASK = ((1 << ndn_BinaryXml_TT_BITS) - 1),
26 ndn_BinaryXml_TT_VALUE_BITS = 4,
27 ndn_BinaryXml_TT_VALUE_MASK = ((1 << (ndn_BinaryXml_TT_VALUE_BITS)) - 1),
28 ndn_BinaryXml_REGULAR_VALUE_BITS = 7,
29 ndn_BinaryXml_REGULAR_VALUE_MASK = ((1 << ndn_BinaryXml_REGULAR_VALUE_BITS) - 1),
30 ndn_BinaryXml_TT_FINAL = 0x80,
Jeff Thompson76317aa2013-06-25 19:11:48 -070031
Jeff Thompsonf0fea002013-07-30 17:22:42 -070032 ndn_BinaryXml_DTag_Any = 13,
33 ndn_BinaryXml_DTag_Name = 14,
34 ndn_BinaryXml_DTag_Component = 15,
35 ndn_BinaryXml_DTag_Certificate = 16,
36 ndn_BinaryXml_DTag_Collection = 17,
37 ndn_BinaryXml_DTag_CompleteName = 18,
38 ndn_BinaryXml_DTag_Content = 19,
39 ndn_BinaryXml_DTag_SignedInfo = 20,
40 ndn_BinaryXml_DTag_ContentDigest = 21,
41 ndn_BinaryXml_DTag_ContentHash = 22,
42 ndn_BinaryXml_DTag_Count = 24,
43 ndn_BinaryXml_DTag_Header = 25,
Jeff Thompsona0d18c92013-08-06 13:55:32 -070044 ndn_BinaryXml_DTag_Interest = 26, /* 20090915 */
Jeff Thompsonf0fea002013-07-30 17:22:42 -070045 ndn_BinaryXml_DTag_Key = 27,
46 ndn_BinaryXml_DTag_KeyLocator = 28,
47 ndn_BinaryXml_DTag_KeyName = 29,
48 ndn_BinaryXml_DTag_Length = 30,
49 ndn_BinaryXml_DTag_Link = 31,
50 ndn_BinaryXml_DTag_LinkAuthenticator = 32,
Jeff Thompsona0d18c92013-08-06 13:55:32 -070051 ndn_BinaryXml_DTag_NameComponentCount = 33, /* DeprecatedInInterest */
Jeff Thompsonf0fea002013-07-30 17:22:42 -070052 ndn_BinaryXml_DTag_RootDigest = 36,
53 ndn_BinaryXml_DTag_Signature = 37,
54 ndn_BinaryXml_DTag_Start = 38,
55 ndn_BinaryXml_DTag_Timestamp = 39,
56 ndn_BinaryXml_DTag_Type = 40,
57 ndn_BinaryXml_DTag_Nonce = 41,
58 ndn_BinaryXml_DTag_Scope = 42,
59 ndn_BinaryXml_DTag_Exclude = 43,
60 ndn_BinaryXml_DTag_Bloom = 44,
61 ndn_BinaryXml_DTag_BloomSeed = 45,
62 ndn_BinaryXml_DTag_AnswerOriginKind = 47,
63 ndn_BinaryXml_DTag_InterestLifetime = 48,
64 ndn_BinaryXml_DTag_Witness = 53,
65 ndn_BinaryXml_DTag_SignatureBits = 54,
66 ndn_BinaryXml_DTag_DigestAlgorithm = 55,
67 ndn_BinaryXml_DTag_BlockSize = 56,
68 ndn_BinaryXml_DTag_FreshnessSeconds = 58,
69 ndn_BinaryXml_DTag_FinalBlockID = 59,
70 ndn_BinaryXml_DTag_PublisherPublicKeyDigest = 60,
71 ndn_BinaryXml_DTag_PublisherCertificateDigest = 61,
72 ndn_BinaryXml_DTag_PublisherIssuerKeyDigest = 62,
73 ndn_BinaryXml_DTag_PublisherIssuerCertificateDigest = 63,
Jeff Thompsona0d18c92013-08-06 13:55:32 -070074 ndn_BinaryXml_DTag_ContentObject = 64, /* 20090915 */
Jeff Thompsonf0fea002013-07-30 17:22:42 -070075 ndn_BinaryXml_DTag_WrappedKey = 65,
76 ndn_BinaryXml_DTag_WrappingKeyIdentifier = 66,
77 ndn_BinaryXml_DTag_WrapAlgorithm = 67,
78 ndn_BinaryXml_DTag_KeyAlgorithm = 68,
79 ndn_BinaryXml_DTag_Label = 69,
80 ndn_BinaryXml_DTag_EncryptedKey = 70,
81 ndn_BinaryXml_DTag_EncryptedNonceKey = 71,
82 ndn_BinaryXml_DTag_WrappingKeyName = 72,
83 ndn_BinaryXml_DTag_Action = 73,
84 ndn_BinaryXml_DTag_FaceID = 74,
85 ndn_BinaryXml_DTag_IPProto = 75,
86 ndn_BinaryXml_DTag_Host = 76,
87 ndn_BinaryXml_DTag_Port = 77,
88 ndn_BinaryXml_DTag_MulticastInterface = 78,
89 ndn_BinaryXml_DTag_ForwardingFlags = 79,
90 ndn_BinaryXml_DTag_FaceInstance = 80,
91 ndn_BinaryXml_DTag_ForwardingEntry = 81,
92 ndn_BinaryXml_DTag_MulticastTTL = 82,
93 ndn_BinaryXml_DTag_MinSuffixComponents = 83,
94 ndn_BinaryXml_DTag_MaxSuffixComponents = 84,
95 ndn_BinaryXml_DTag_ChildSelector = 85,
96 ndn_BinaryXml_DTag_RepositoryInfo = 86,
97 ndn_BinaryXml_DTag_Version = 87,
98 ndn_BinaryXml_DTag_RepositoryVersion = 88,
99 ndn_BinaryXml_DTag_GlobalPrefix = 89,
100 ndn_BinaryXml_DTag_LocalName = 90,
101 ndn_BinaryXml_DTag_Policy = 91,
102 ndn_BinaryXml_DTag_Namespace = 92,
103 ndn_BinaryXml_DTag_GlobalPrefixName = 93,
104 ndn_BinaryXml_DTag_PolicyVersion = 94,
105 ndn_BinaryXml_DTag_KeyValueSet = 95,
106 ndn_BinaryXml_DTag_KeyValuePair = 96,
107 ndn_BinaryXml_DTag_IntegerValue = 97,
108 ndn_BinaryXml_DTag_DecimalValue = 98,
109 ndn_BinaryXml_DTag_StringValue = 99,
110 ndn_BinaryXml_DTag_BinaryValue = 100,
111 ndn_BinaryXml_DTag_NameValue = 101,
112 ndn_BinaryXml_DTag_Entry = 102,
113 ndn_BinaryXml_DTag_ACL = 103,
114 ndn_BinaryXml_DTag_ParameterizedName = 104,
115 ndn_BinaryXml_DTag_Prefix = 105,
116 ndn_BinaryXml_DTag_Suffix = 106,
117 ndn_BinaryXml_DTag_Root = 107,
118 ndn_BinaryXml_DTag_ProfileName = 108,
119 ndn_BinaryXml_DTag_Parameters = 109,
120 ndn_BinaryXml_DTag_InfoString = 110,
121 ndn_BinaryXml_DTag_StatusResponse = 112,
122 ndn_BinaryXml_DTag_StatusCode = 113,
123 ndn_BinaryXml_DTag_StatusText = 114,
124 ndn_BinaryXml_DTag_SyncNode = 115,
125 ndn_BinaryXml_DTag_SyncNodeKind = 116,
126 ndn_BinaryXml_DTag_SyncNodeElement = 117,
127 ndn_BinaryXml_DTag_SyncVersion = 118,
128 ndn_BinaryXml_DTag_SyncNodeElements = 119,
129 ndn_BinaryXml_DTag_SyncContentHash = 120,
130 ndn_BinaryXml_DTag_SyncLeafCount = 121,
131 ndn_BinaryXml_DTag_SyncTreeDepth = 122,
132 ndn_BinaryXml_DTag_SyncByteCount = 123,
133 ndn_BinaryXml_DTag_SyncConfigSlice = 124,
134 ndn_BinaryXml_DTag_SyncConfigSliceList = 125,
135 ndn_BinaryXml_DTag_SyncConfigSliceOp = 126,
136 ndn_BinaryXml_DTag_SyncNodeDeltas = 127,
137 ndn_BinaryXml_DTag_SequenceNumber = 256,
Jeff Thompson9b195242013-11-14 16:34:58 -0800138 ndn_BinaryXml_DTag_NDNProtocolDataUnit = 20587744 // the encoded empty element, viewed as a string is "NDN\202\000"
Jeff Thompsonc5f9d3f2013-06-26 21:31:12 -0700139};
Jeff Thompson76317aa2013-06-25 19:11:48 -0700140
Jeff Thompsona0d18c92013-08-06 13:55:32 -0700141#ifdef __cplusplus
Jeff Thompson76317aa2013-06-25 19:11:48 -0700142}
143#endif
144
145#endif