X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_guts.h;h=b0aca333fe706330bafe0f5ad983ab5b54b3bcf2;hp=e2b2fb9378afe615beba22b0eb86f3d65a992b99;hb=bf0323aab4b4a577fcb2dafc573b443aabcedc02;hpb=33308768bd24abe4e1f59c5025a3dd824119ae1d diff --git a/yaffs_guts.h b/yaffs_guts.h index e2b2fb9..b0aca33 100644 --- a/yaffs_guts.h +++ b/yaffs_guts.h @@ -79,7 +79,6 @@ /* Binary data version stamps */ #define YAFFS_SUMMARY_VERSION 1 -#define YAFFS_CHECKPOINT_VERSION 7 #ifdef CONFIG_YAFFS_UNICODE #define YAFFS_MAX_NAME_LENGTH 127 @@ -497,26 +496,6 @@ struct yaffs_obj_bucket { int count; }; -/* yaffs_checkpt_obj holds the definition of an object as dumped - * by checkpointing. - */ - -struct yaffs_checkpt_obj { - int struct_type; - u32 obj_id; - u32 parent_id; - int hdr_chunk; - u32 variant_type:3; /* enum yaffs_obj_type */ - u8 deleted:1; - u8 soft_del:1; - u8 unlinked:1; - u8 fake:1; - u8 rename_allowed:1; - u8 unlink_allowed:1; - u8 serial; - int n_data_chunks; - loff_t size_or_equiv_obj; -}; /*--------------------- Temporary buffers ---------------- * @@ -579,6 +558,8 @@ struct yaffs_param { * 0 = no limit. */ + int hide_lost_n_found; /* Set non-zero to hide the lost-n-found dir. */ + /* The remove_obj_fn function must be supplied by OS flavours that * need it. * yaffs direct uses it to implement the faster readdir. @@ -816,6 +797,37 @@ struct yaffs_dev { }; +/* + * Checkpointing definitions. + */ + +#define YAFFS_CHECKPOINT_VERSION 8 + +/* yaffs_checkpt_obj holds the definition of an object as dumped + * by checkpointing. + */ + + +/* Checkpint object bits in bitfield: offset, length */ +#define CHECKPOINT_VARIANT_BITS 0, 3 +#define CHECKPOINT_DELETED_BITS 3, 1 +#define CHECKPOINT_SOFT_DEL_BITS 4, 1 +#define CHECKPOINT_UNLINKED_BITS 5, 1 +#define CHECKPOINT_FAKE_BITS 6, 1 +#define CHECKPOINT_RENAME_ALLOWED_BITS 7, 1 +#define CHECKPOINT_UNLINK_ALLOWED_BITS 8, 1 +#define CHECKPOINT_SERIAL_BITS 9, 8 + +struct yaffs_checkpt_obj { + int struct_type; + u32 obj_id; + u32 parent_id; + int hdr_chunk; + u32 bit_field; + int n_data_chunks; + loff_t size_or_equiv_obj; +}; + /* The CheckpointDevice structure holds the device information that changes *at runtime and must be preserved over unmount/mount cycles. */