Lines Matching full:node
53 * @brief Get the dictionary for the provided node.
56 * @param[in] parentDictionary - dictionary used for the parent of this node.
57 * @param[in] nodeName - name of the interested node. Can be NULL if the node
65 // If the node name is NULL, we have to use parent dictionary. in bejGetRelatedDictionary()
72 // annotation. Therefore the child (this node) should be an annotation too in bejGetRelatedDictionary()
74 // for this node as well. in bejGetRelatedDictionary()
84 * @brief Get dictionary data for the given node.
87 * @param[in] parentDictionary - the dictionary used by the provided node's
89 * @param[in] node - node that caller is interested in.
90 * @param[in] nodeIndex - index of this node within its parent.
92 * this node's parent.
93 * @param[out] sequenceNumber - sequence number of the node. bit0 specifies the
96 * used for the node.
98 * offset used for this nodes children. If this node is not supposed to have
104 struct RedfishPropertyNode* node, uint16_t nodeIndex, in bejFindSeqNumAndChildDictOffset() argument
108 // If the node doesn't have a name, we can't use a dictionary. So we can use in bejFindSeqNumAndChildDictOffset()
110 if (node->name == NULL || node->name[0] == '\0') in bejFindSeqNumAndChildDictOffset()
134 bejGetRelatedDictionary(dictionaries, parentDictionary, node->name); in bejFindSeqNumAndChildDictOffset()
136 // If this node's dictionary and its parent's dictionary is different, in bejFindSeqNumAndChildDictOffset()
137 // this node should start searching from the beginning of its in bejFindSeqNumAndChildDictOffset()
149 node->name); in bejFindSeqNumAndChildDictOffset()
157 node->name, &property, NULL); in bejFindSeqNumAndChildDictOffset()
163 node->name, dictStartingOffset, ret); in bejFindSeqNumAndChildDictOffset()
187 struct RedfishPropertyLeafInt* node, in bejUpdateIntMetaData() argument
192 dictionaries, parentDictionary, &node->leaf.nodeAttr, nodeIndex, in bejUpdateIntMetaData()
194 node->leaf.metaData.sequenceNumber = sequenceNumber; in bejUpdateIntMetaData()
198 node->leaf.metaData.sflSize = bejNnintEncodingSizeOfUInt(sequenceNumber); in bejUpdateIntMetaData()
200 node->leaf.metaData.sflSize += BEJ_TUPLE_F_SIZE; in bejUpdateIntMetaData()
202 node->leaf.metaData.sflSize += BEJ_TUPLE_L_SIZE_FOR_BEJ_INTEGER; in bejUpdateIntMetaData()
204 node->leaf.metaData.vSize = bejIntLengthOfValue(node->value); in bejUpdateIntMetaData()
210 struct RedfishPropertyLeafString* node, uint16_t nodeIndex, in bejUpdateStringMetaData() argument
215 dictionaries, parentDictionary, &(node->leaf.nodeAttr), nodeIndex, in bejUpdateStringMetaData()
217 node->leaf.metaData.sequenceNumber = sequenceNumber; in bejUpdateStringMetaData()
221 node->leaf.metaData.sflSize = bejNnintEncodingSizeOfUInt(sequenceNumber); in bejUpdateStringMetaData()
223 node->leaf.metaData.sflSize += BEJ_TUPLE_F_SIZE; in bejUpdateStringMetaData()
226 size_t strLenWithNull = strlen(node->value) + 1; in bejUpdateStringMetaData()
227 node->leaf.metaData.sflSize += bejNnintEncodingSizeOfUInt(strLenWithNull); in bejUpdateStringMetaData()
229 node->leaf.metaData.vSize = strLenWithNull; in bejUpdateStringMetaData()
235 struct RedfishPropertyLeafReal* node, uint16_t nodeIndex, in bejUpdateRealMetaData() argument
240 dictionaries, parentDictionary, &(node->leaf.nodeAttr), nodeIndex, in bejUpdateRealMetaData()
242 node->leaf.metaData.sequenceNumber = sequenceNumber; in bejUpdateRealMetaData()
244 if (node->value > (double)INT64_MAX) in bejUpdateRealMetaData()
255 node->leaf.metaData.sflSize = bejNnintEncodingSizeOfUInt(sequenceNumber); in bejUpdateRealMetaData()
257 node->leaf.metaData.sflSize += BEJ_TUPLE_F_SIZE; in bejUpdateRealMetaData()
262 double originalFract = modf(node->value, &originalWhole); in bejUpdateRealMetaData()
286 node->bejReal.whole = (int64_t)originalWhole; in bejUpdateRealMetaData()
287 node->bejReal.zeroCount = leadingZeros; in bejUpdateRealMetaData()
288 node->bejReal.fract = (int64_t)originalFactConvertedToWhole; in bejUpdateRealMetaData()
290 node->bejReal.expLen = 0; in bejUpdateRealMetaData()
291 node->bejReal.exp = 0; in bejUpdateRealMetaData()
295 node->leaf.metaData.vSize = BEJ_TUPLE_L_SIZE_FOR_BEJ_INTEGER; in bejUpdateRealMetaData()
297 node->leaf.metaData.vSize += bejIntLengthOfValue((int64_t)originalWhole); in bejUpdateRealMetaData()
299 node->leaf.metaData.vSize += bejNnintEncodingSizeOfUInt(leadingZeros); in bejUpdateRealMetaData()
301 node->leaf.metaData.vSize += in bejUpdateRealMetaData()
305 node->leaf.metaData.vSize += bejNnintEncodingSizeOfUInt(0); in bejUpdateRealMetaData()
308 node->leaf.metaData.sflSize += in bejUpdateRealMetaData()
309 bejNnintEncodingSizeOfUInt(node->leaf.metaData.vSize); in bejUpdateRealMetaData()
315 struct RedfishPropertyLeafEnum* node, uint16_t nodeIndex, in bejUpdateEnumMetaData() argument
326 dictionaries, parentDictionary, &(node->leaf.nodeAttr), nodeIndex, in bejUpdateEnumMetaData()
330 node->leaf.metaData.sequenceNumber = sequenceNumber; in bejUpdateEnumMetaData()
333 if (node->leaf.nodeAttr.name != NULL && node->leaf.nodeAttr.name[0] != '\0') in bejUpdateEnumMetaData()
339 node->value, &enumValueProperty, NULL); in bejUpdateEnumMetaData()
346 node->value, dictStartingOffset, ret); in bejUpdateEnumMetaData()
349 node->enumValueSeq = enumValueProperty->sequenceNumber; in bejUpdateEnumMetaData()
353 node->leaf.metaData.sflSize = bejNnintEncodingSizeOfUInt(sequenceNumber); in bejUpdateEnumMetaData()
355 node->leaf.metaData.sflSize += BEJ_TUPLE_F_SIZE; in bejUpdateEnumMetaData()
357 node->leaf.metaData.vSize = in bejUpdateEnumMetaData()
360 node->leaf.metaData.sflSize += in bejUpdateEnumMetaData()
361 bejNnintEncodingSizeOfUInt(node->leaf.metaData.vSize); in bejUpdateEnumMetaData()
367 struct RedfishPropertyLeafBool* node, uint16_t nodeIndex, in bejUpdateBoolMetaData() argument
372 dictionaries, parentDictionary, &node->leaf.nodeAttr, nodeIndex, in bejUpdateBoolMetaData()
374 node->leaf.metaData.sequenceNumber = sequenceNumber; in bejUpdateBoolMetaData()
378 node->leaf.metaData.sflSize = bejNnintEncodingSizeOfUInt(sequenceNumber); in bejUpdateBoolMetaData()
380 node->leaf.metaData.sflSize += BEJ_TUPLE_F_SIZE; in bejUpdateBoolMetaData()
382 node->leaf.metaData.sflSize += BEJ_TUPLE_L_SIZE_FOR_BEJ_BOOL; in bejUpdateBoolMetaData()
384 node->leaf.metaData.vSize = 1; in bejUpdateBoolMetaData()
390 struct RedfishPropertyLeafNull* node, uint16_t nodeIndex, in bejUpdateNullMetaData() argument
395 dictionaries, parentDictionary, &node->leaf.nodeAttr, nodeIndex, in bejUpdateNullMetaData()
397 node->leaf.metaData.sequenceNumber = sequenceNumber; in bejUpdateNullMetaData()
401 node->leaf.metaData.sflSize = bejNnintEncodingSizeOfUInt(sequenceNumber); in bejUpdateNullMetaData()
403 node->leaf.metaData.sflSize += BEJ_TUPLE_F_SIZE; in bejUpdateNullMetaData()
406 node->leaf.metaData.sflSize += BEJ_TUPLE_L_SIZE_FOR_BEJ_INTEGER; in bejUpdateNullMetaData()
407 node->leaf.metaData.vSize = 0; in bejUpdateNullMetaData()
415 * @param parentDictionary - dictionary used by this node's parent.
416 * @param childPtr - a pointer to the leaf node.
417 * @param childIndex - if this node is an array element, this is the array
420 * node's parent.
470 * @brief Update metadata of a parent node.
473 * @param parentDictionary - dictionary used by this node's parent.
475 * node's parent.
476 * @param node - a pointer to the parent node.
477 * @param nodeIndex - If this node is an array element, this is the array index.
482 uint16_t dictStartingOffset, struct RedfishPropertyParent* node, in bejUpdateParentMetaData() argument
489 // Get the dictionary related data from the node. in bejUpdateParentMetaData()
491 dictionaries, parentDictionary, &node->nodeAttr, nodeIndex, in bejUpdateParentMetaData()
495 node->metaData.sequenceNumber = sequenceNumber; in bejUpdateParentMetaData()
496 node->metaData.childrenDictPropOffset = childEntryOffset; in bejUpdateParentMetaData()
497 node->metaData.nextChild = node->firstChild; in bejUpdateParentMetaData()
498 node->metaData.nextChildIndex = 0; in bejUpdateParentMetaData()
499 node->metaData.dictionary = nodeDictionary; in bejUpdateParentMetaData()
500 node->metaData.vSize = 0; in bejUpdateParentMetaData()
503 node->metaData.sflSize = in bejUpdateParentMetaData()
504 bejNnintEncodingSizeOfUInt(node->metaData.sequenceNumber); in bejUpdateParentMetaData()
506 node->metaData.sflSize += 1; in bejUpdateParentMetaData()
510 if (node->nodeAttr.format.principalDataType != bejPropertyAnnotation) in bejUpdateParentMetaData()
512 node->metaData.vSize = bejNnintEncodingSizeOfUInt(node->nChildren); in bejUpdateParentMetaData()
520 * If a child node contains its own child nodes, it will be added to the stack
524 * @param parent - parent node.
580 // Initialize root node metadata. in bejUpdateNodeMetadata()
585 // Push the root to the stack. Because we are not done with the parent node in bejUpdateNodeMetadata()
598 // Calculate metadata of all the child nodes of the current parent node. in bejUpdateNodeMetadata()
599 // If one of these child nodes has its own child nodes, that child node in bejUpdateNodeMetadata()
603 // If a new node hasn't been added to the stack, we know that this in bejUpdateNodeMetadata()
622 // Since we now know the total size needs to encode the node pointed by in bejUpdateNodeMetadata()
624 // node's parent. Since we already popped this node from the stack, top in bejUpdateNodeMetadata()
626 // NULL if the node pointed by "parent" variable is the root. in bejUpdateNodeMetadata()