u32 yst_rdev; /* stuff for block and char devices (major/min) */
+ /*
+ * WinCE times are no longer just used to store WinCE times.
+ * They are also used to store 64-bit times.
+ * We actually store and read the times in both places and use
+ * the best we can.
+ */
u32 win_ctime[2];
u32 win_atime[2];
u32 win_mtime[2];
YCHAR short_name[YAFFS_SHORT_NAME_LENGTH + 1];
#ifdef CONFIG_YAFFS_WINCE
+ //these are always 64 bits
u32 win_ctime[2];
u32 win_mtime[2];
u32 win_atime[2];
#else
- u32 yst_uid;
- u32 yst_gid;
- u32 yst_atime;
- u32 yst_mtime;
- u32 yst_ctime;
+ //these can be 32 or 64 bits
+ YTIME_T yst_uid;
+ YTIME_T yst_gid;
+ YTIME_T yst_atime;
+ YTIME_T yst_mtime;
+ YTIME_T yst_ctime;
#endif
u32 yst_rdev;
int yaffs_find_chunk_in_file(struct yaffs_obj *in, int inode_chunk,
struct yaffs_ext_tags *tags);
+/*
+ *Time marshalling functions
+ */
+
+YTIME_T yaffs_oh_ctime_fetch(struct yaffs_obj_hdr *oh);
+YTIME_T yaffs_oh_mtime_fetch(struct yaffs_obj_hdr *oh);
+YTIME_T yaffs_oh_atime_fetch(struct yaffs_obj_hdr *oh);
+
+void yaffs_oh_ctime_load(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh);
+void yaffs_oh_mtime_load(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh);
+void yaffs_oh_atime_load(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh);
+
/*
* Define LOFF_T_32_BIT if a 32-bit LOFF_T is being used.
* Not serious if you get this wrong - you might just get some warnings.