package yaffs2.port;
import yaffs2.utils.*;
public class yaffs_PackedTags1 extends yaffs2.utils.SerializableObject
{
public yaffs_PackedTags1()
{
super(SERIALIZED_LENGTH);
}
// typedef struct {
// unsigned chunkId:20;
int chunkId()
{
return Utils.byteAsUnsignedByte(serialized[offset]) | (Utils.byteAsUnsignedByte(serialized[offset+1]) << 8) |
((serialized[offset+2] & 0xF) << 16);
}
void setChunkId(int value)
{
serialized[offset] = (byte)value;
serialized[offset+1] = (byte)(value >>> 8);
serialized[offset+2] = (byte)((serialized[offset+2] & ~0xF) |
((value >>> 16) & 0xF));
}
// unsigned serialNumber:2;
byte serialNumber()
{
return (byte)((serialized[offset+2] >>> 4) & 0x3);
}
void setSerialNumber(byte value)
{
serialized[offset+2] = (byte)((serialized[offset+2] & ~(0x3 << 4)) |
((value & 0x3) << 4));
}
// unsigned byteCount:10;
int byteCount()
{
return ((Utils.byteAsUnsignedByte(serialized[offset+2]) >>> 6) | (Utils.byteAsUnsignedByte(serialized[offset+3]) << 2));
}
void setByteCount(int value)
{
serialized[offset+2] = (byte)((serialized[offset+2] & (~(0x3 << 6)) |
((value & 0x3) << 6)));
serialized[offset+3] = (byte)(value >>> 2);
}
// unsigned objectId:18;
int objectId()
{
return Utils.byteAsUnsignedByte(serialized[offset+4]) | (Utils.byteAsUnsignedByte(serialized[offset+5]) << 8) |
((serialized[offset+6] & 0x3) << 16);
}
void setObjectId(int value)
{
serialized[offset+4] = (byte)value;
serialized[offset+5] = (byte)(value >>> 8);
serialized[offset+6] = (byte)((value >>> 16) & 0x3);
}
// unsigned ecc:12;
int ecc()
{
return (Utils.byteAsUnsignedByte(serialized[offset+6]) >>> 2) | ((serialized[offset+7] & 0x3F) << 6);
}
void setEcc(int value)
{
serialized[offset+6] = (byte)((serialized[offset+6] & ~(0x3F << 2) |
((value & 0x3F) << 2)));
serialized[offset+7] = (byte)((serialized[offset+7] & ~(0x3F)) |
((value >>> 8) & 0x3F));
}
// unsigned deleted:1;
boolean deleted()
{
return ((serialized[offset+7] & 0x40) != 0);
}
void setDeleted(boolean value)
{
serialized[offset+7] = (byte)((serialized[offset+7] & ~0x40) |
(value ? 0x40 : 0));
}
// unsigned unusedStuff:1;
boolean unusedStuff()
{
return ((serialized[offset+7] & 0x80) != 0);
}
void setUnusedStuff(boolean value)
{
serialized[offset+7] = (byte)((serialized[offset+7] & ~0x80) |
(value ? 0x80 : 0));
}
// unsigned shouldBeFF;
int shouldBeFF()
{
return Utils.getIntFromByteArray(serialized, offset+8);
}
void setShouldBeFF(int value)
{
Utils.writeIntToByteArray(serialized, offset+8, value);
}
// } yaffs_PackedTags1;
public static final int SERIALIZED_LENGTH = 8+4;
public int getSerializedLength()
{
return SERIALIZED_LENGTH;
}
}