void yaffs_PackTags2TagsPart(yaffs_PackedTags2TagsPart *ptt, const yaffs_ExtendedTags *t) { ptt->chunkId = t->chunkId; ptt->sequenceNumber = t->sequenceNumber; ptt->byteCount = t->byteCount; ptt->objectId = t->objectId; if (t->chunkId == 0 && t->extraHeaderInfoAvailable) { /* Store the extra header info instead */ /* We save the parent object in the chunkId */ ptt->chunkId = EXTRA_HEADER_INFO_FLAG | t->extraParentObjectId; if (t->extraIsShrinkHeader) ptt->chunkId |= EXTRA_SHRINK_FLAG; if (t->extraShadows) ptt->chunkId |= EXTRA_SHADOWS_FLAG; ptt->objectId &= ~EXTRA_OBJECT_TYPE_MASK; ptt->objectId |= (t->extraObjectType << EXTRA_OBJECT_TYPE_SHIFT); if (t->extraObjectType == YAFFS_OBJECT_TYPE_HARDLINK) ptt->byteCount = t->extraEquivalentObjectId; else if (t->extraObjectType == YAFFS_OBJECT_TYPE_FILE) ptt->byteCount = t->extraFileLength; else ptt->byteCount = 0; } yaffs_DumpPackedTags2TagsPart(ptt); yaffs_DumpTags2(t); }
static void yaffs_DumpPackedTags2(const yaffs_PackedTags2 * pt) { yaffs_DumpPackedTags2TagsPart(&pt->t); }