#define __YAFFS_GUTS_H__
#include "yportenv.h"
-#include "devextras.h"
-#include "yaffs_list.h"
#define YAFFS_OK 1
#define YAFFS_FAIL 0
/* The following apply to directories, files, symlinks - not hard links */
u32 yst_mode; /* protection */
-#ifdef CONFIG_YAFFS_WINCE
- u32 not_for_wince[5];
-#else
u32 yst_uid;
u32 yst_gid;
u32 yst_atime;
u32 yst_mtime;
u32 yst_ctime;
-#endif
/* File size applies to files only */
int file_size;
u32 yst_rdev; /* device stuff for block and char devices (major/min) */
-#ifdef CONFIG_YAFFS_WINCE
u32 win_ctime[2];
u32 win_atime[2];
u32 win_mtime[2];
-#else
- u32 room_to_grow[6];
-#endif
u32 inband_shadowed_obj_id;
u32 inband_is_shrink;
} ;
struct yaffs_dir_var{
- struct ylist_head children; /* list of child links */
- struct ylist_head dirty; /* Entry for list of dirty directories */
+ struct list_head children; /* list of child links */
+ struct list_head dirty; /* Entry for list of dirty directories */
};
struct yaffs_symlink_var{
struct yaffs_dev *my_dev; /* The device I'm on */
- struct ylist_head hash_link; /* list of objects in this hash bucket */
+ struct list_head hash_link; /* list of objects in this hash bucket */
- struct ylist_head hard_links; /* all the equivalent hard linked objects */
+ struct list_head hard_links; /* all the equivalent hard linked objects */
/* directory structure stuff */
/* also used for linking up the free list */
struct yaffs_obj *parent;
- struct ylist_head siblings;
+ struct list_head siblings;
/* Where's my object header in NAND? */
int hdr_chunk;
};
struct yaffs_obj_bucket {
- struct ylist_head list;
+ struct list_head list;
int count;
} ;
void *os_context;
void *driver_context;
- struct ylist_head dev_list;
+ struct list_head dev_list;
/* Runtime parameters. Set up by YAFFS. */
int data_bytes_per_chunk;
int refresh_skip; /* A skip down counter. Refresh happens when this gets to zero. */
/* Dirty directory handling */
- struct ylist_head dirty_dirs; /* List of dirty directories */
+ struct list_head dirty_dirs; /* List of dirty directories */
/* Statistcs */
unsigned yaffs_get_obj_type(struct yaffs_obj *obj);
int yaffs_get_obj_link_count(struct yaffs_obj *obj);
-int yaffs_set_attribs(struct yaffs_obj *obj, struct iattr *attr);
-int yaffs_get_attribs(struct yaffs_obj *obj, struct iattr *attr);
-
/* File operations */
int yaffs_file_rd(struct yaffs_obj *obj, u8 *buffer, loff_t offset,
int n_bytes);
struct yaffs_obj *yaffs_root(struct yaffs_dev *dev);
struct yaffs_obj *yaffs_lost_n_found(struct yaffs_dev *dev);
-#ifdef CONFIG_YAFFS_WINCE
-/* CONFIG_YAFFS_WINCE special stuff */
-void yfsd_win_file_time_now(u32 target[2]);
-#endif
-
void yaffs_handle_defered_free(struct yaffs_obj *obj);
void yaffs_update_dirty_dirs(struct yaffs_dev *dev);