X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=yaffs_guts.h;h=0e334bdd5e723ad6a028d10e1c5b1b1cda9092e8;hb=refs%2Fheads%2Ffix-uboot;hp=6e48d1361bfa5742955c669af5bed27bd8d983f8;hpb=a7ae50c6ee8de56afbdae3176a355da54f45b21a;p=yaffs2.git diff --git a/yaffs_guts.h b/yaffs_guts.h index 6e48d13..0e334bd 100644 --- a/yaffs_guts.h +++ b/yaffs_guts.h @@ -54,6 +54,8 @@ YAFFS_TNODES_MAX_LEVEL) #define YAFFS_MAX_CHUNK_ID ((1 << YAFFS_TNODES_MAX_BITS) - 1) +#define YAFFS_MAX_FILE_SIZE_32 0x7fffffff + /* Constants for YAFFS1 mode */ #define YAFFS_BYTES_PER_SPARE 16 #define YAFFS_BYTES_PER_CHUNK 512 @@ -75,7 +77,9 @@ #define YAFFS_OBJECT_SPACE 0x40000 #define YAFFS_MAX_OBJECT_ID (YAFFS_OBJECT_SPACE - 1) -#define YAFFS_CHECKPOINT_VERSION 5 +/* Binary data version stamps */ +#define YAFFS_SUMMARY_VERSION 1 +#define YAFFS_CHECKPOINT_VERSION 7 #ifdef CONFIG_YAFFS_UNICODE #define YAFFS_MAX_NAME_LENGTH 127 @@ -534,7 +538,7 @@ struct yaffs_param { */ int use_nand_ecc; /* Flag to decide whether or not to use * NAND driver ECC on data (yaffs1) */ - int tags_9bytes; /* Use 9 byte tags */ + int tags_9bytes; /* Use 9 byte tags */ int no_tags_ecc; /* Flag to decide whether or not to do ECC * on packed tags (yaffs2) */ @@ -603,6 +607,11 @@ struct yaffs_param { int always_check_erased; /* Force chunk erased check always on */ int disable_summary; + + int max_objects; /* + * Set to limit the number of objects created. + * 0 = no limit. + */ }; struct yaffs_dev { @@ -952,6 +961,8 @@ u32 yaffs_get_group_base(struct yaffs_dev *dev, struct yaffs_tnode *tn, int yaffs_is_non_empty_dir(struct yaffs_obj *obj); +int yaffs_format_dev(struct yaffs_dev *dev); + void yaffs_addr_to_chunk(struct yaffs_dev *dev, loff_t addr, int *chunk_out, u32 *offset_out); /*