-
- memset(t,0,sizeof(yaffs_ExtendedTags));
-
- yaffs_InitialiseTags(t);
-
- if(pt->t.sequenceNumber != 0xFFFFFFFF)
- {
- // Page is in use
- yaffs_ECCOther ecc;
- yaffs_ECCCalculateOther((unsigned char *)&pt->t,sizeof(yaffs_PackedTags2TagsPart),&ecc);
- t->eccResult = yaffs_ECCCorrectOther((unsigned char *)&pt->t,sizeof(yaffs_PackedTags2TagsPart),&pt->ecc,&ecc);
- t->blockBad = 0;
- t->chunkUsed = 1;
- t->objectId = pt->t.objectId;
- t->chunkId = pt->t.chunkId;
- t->byteCount = pt->t.byteCount;
- t->chunkDeleted = 0;
- t->serialNumber = 0;
- t->sequenceNumber = pt->t.sequenceNumber;
-
- // Do extra header info stuff
-
- if(pt->t.chunkId & EXTRA_HEADER_INFO_FLAG)
- {
- t->chunkId = 0;
- t->byteCount = 0;
-
- t->extraHeaderInfoAvailable = 1;
- t->extraParentObjectId = pt->t.chunkId & (~(ALL_EXTRA_FLAGS));
- t->extraIsShrinkHeader = (pt->t.chunkId & EXTRA_SHRINK_FLAG) ? 1 : 0;
- t->extraObjectType = pt->t.objectId >> EXTRA_OBJECT_TYPE_SHIFT;
- t->objectId &= ~EXTRA_OBJECT_TYPE_MASK;
-
- if(t->extraObjectType == YAFFS_OBJECT_TYPE_HARDLINK)
- {
- t->extraEquivalentObjectId = pt->t.byteCount;
- }
- else
- {
- t->extraFileLength = pt->t.byteCount;
- }
+ memset(t, 0, sizeof(struct yaffs_ext_tags));
+
+ yaffs_init_tags(t);
+
+ if (ptt->seq_number != 0xFFFFFFFF) {
+ t->block_bad = 0;
+ t->chunk_used = 1;
+ t->obj_id = ptt->obj_id;
+ t->chunk_id = ptt->chunk_id;
+ t->n_bytes = ptt->n_bytes;
+ t->is_deleted = 0;
+ t->serial_number = 0;
+ t->seq_number = ptt->seq_number;
+
+ /* Do extra header info stuff */
+
+ if (ptt->chunk_id & EXTRA_HEADER_INFO_FLAG) {
+ t->chunk_id = 0;
+ t->n_bytes = 0;
+
+ t->extra_available = 1;
+ t->extra_parent_id =
+ ptt->chunk_id & (~(ALL_EXTRA_FLAGS));
+ t->extra_is_shrink =
+ (ptt->chunk_id & EXTRA_SHRINK_FLAG) ? 1 : 0;
+ t->extra_shadows =
+ (ptt->chunk_id & EXTRA_SHADOWS_FLAG) ? 1 : 0;
+ t->extra_obj_type =
+ ptt->obj_id >> EXTRA_OBJECT_TYPE_SHIFT;
+ t->obj_id &= ~EXTRA_OBJECT_TYPE_MASK;
+
+ if (t->extra_obj_type == YAFFS_OBJECT_TYPE_HARDLINK)
+ t->extra_equiv_id = ptt->n_bytes;
+ else
+ t->extra_length = ptt->n_bytes;