package yaffs2.port; import yaffs2.utils.*; /** * * XXX Not really a union, but i found no better way. * XXX PORT Works only when dev.tnodeWidth = 16. */ public class yaffs_Tnode extends PartiallySerializableObject { /*--------------------------- Tnode -------------------------- */ //union yaffs_Tnode_union { /*#ifdef CONFIG_YAFFS_TNODE_LIST_DEBUG union yaffs_Tnode_union *internal[YAFFS_NTNODES_INTERNAL + 1]; #else*/ public yaffs_Tnode[] internal = new yaffs_Tnode[Guts_H.YAFFS_NTNODES_INTERNAL]; /*#endif*/ /* __u16 level0[YAFFS_NTNODES_LEVEL0]; */ static final int SERIALIZED_LENGTH = Guts_H.YAFFS_NTNODES_LEVEL0*2; // XXX PORT should be (dev.tnodeWidth * YAFFS_NTNODES_LEVEL0)/8 int level0AsInt(int index) { return Utils.getIntFromByteArray(serialized, index*4); } void setLevel0AsInt(int index, int value) { Utils.writeIntToByteArray(serialized, index*4, value); } void andLevel0AsInt(int index, int value) { setLevel0AsInt(index, level0AsInt(index) & value); } void orLevel0AsInt(int index, int value) { setLevel0AsInt(index, level0AsInt(index) | value); } //}; //typedef union yaffs_Tnode_union yaffs_Tnode; public yaffs_Tnode() { super(SERIALIZED_LENGTH); } public int getSerializedLength() { return SERIALIZED_LENGTH; } }