summaryrefslogtreecommitdiff
path: root/yaffs_packedtags2.c
diff options
context:
space:
mode:
authorcharles <charles>2005-07-31 06:56:57 +0000
committercharles <charles>2005-07-31 06:56:57 +0000
commit73e9f7fdbe045ba7d9f48fd1197fb6a4258b35d4 (patch)
tree56afed32806c51122c231497b34e28d6042563d4 /yaffs_packedtags2.c
parent059e96a41fdcd5a2162c281b43047a1656cf53df (diff)
Add flag for object shadowing
Diffstat (limited to 'yaffs_packedtags2.c')
-rw-r--r--yaffs_packedtags2.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/yaffs_packedtags2.c b/yaffs_packedtags2.c
index 342e550..f4de18d 100644
--- a/yaffs_packedtags2.c
+++ b/yaffs_packedtags2.c
@@ -29,7 +29,8 @@
#define EXTRA_HEADER_INFO_FLAG 0x80000000
#define EXTRA_SHRINK_FLAG 0x40000000
-#define EXTRA_SPARE_FLAGS 0x30000000
+#define EXTRA_SHADOWS_FLAG 0x20000000
+#define EXTRA_SPARE_FLAGS 0x10000000
#define ALL_EXTRA_FLAGS 0xF0000000
@@ -68,6 +69,10 @@ void yaffs_PackTags2(yaffs_PackedTags2 *pt, const yaffs_ExtendedTags *t)
{
pt->t.chunkId |= EXTRA_SHRINK_FLAG;
}
+ if(t->extraShadows)
+ {
+ pt->t.chunkId |= EXTRA_SHADOWS_FLAG;
+ }
pt->t.objectId &= ~EXTRA_OBJECT_TYPE_MASK;
pt->t.objectId |= (t->extraObjectType << EXTRA_OBJECT_TYPE_SHIFT);
@@ -137,6 +142,7 @@ void yaffs_UnpackTags2(yaffs_ExtendedTags *t, yaffs_PackedTags2 *pt)
t->extraHeaderInfoAvailable = 1;
t->extraParentObjectId = pt->t.chunkId & (~(ALL_EXTRA_FLAGS));
t->extraIsShrinkHeader = (pt->t.chunkId & EXTRA_SHRINK_FLAG) ? 1 : 0;
+ t->extraShadows = (pt->t.chunkId & EXTRA_SHADOWS_FLAG) ? 1 : 0;
t->extraObjectType = pt->t.objectId >> EXTRA_OBJECT_TYPE_SHIFT;
t->objectId &= ~EXTRA_OBJECT_TYPE_MASK;