*
* Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
*
- * $Id: ydirectenv.h,v 1.1 2004-09-19 09:21:38 charles Exp $
+ * $Id: ydirectenv.h,v 1.2 2004-10-10 17:54:59 charles Exp $
*
*/
// Direct interface
+#include "devextras.h"
+
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
#include "yaffscfg.h"
-#define CURRENT_TIME yaffsfs_CurrentTime()
+#define Y_CURRENT_TIME yaffsfs_CurrentTime()
+#define Y_TIME_CONVERT(x) (x)
+
#define YAFFS_ROOT_MODE 0666
#define YAFFS_LOSTNFOUND_MODE 0666
#define yaffs_strcmp(a,b) strcmp(a,b)
#endif
+
+
*
* Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
*
- * $Id: ywinceenv.h,v 1.1 2004-09-19 09:21:38 charles Exp $
+ * $Id: ywinceenv.h,v 1.2 2004-10-10 17:54:59 charles Exp $
*
*/
extern unsigned yfsd_U32FileTimeNow(void);
-#define CURRENT_TIME yfsd_U32FileTimeNow()
+#define Y_CURRENT_TIME yfsd_U32FileTimeNow()
+#define Y_TIME_CONVERT(x) (x)
+
#define YAFFS_ROOT_MODE FILE_ATTRIBUTE_ARCHIVE
#define YAFFS_LOSTNFOUND_MODE FILE_ATTRIBUTE_HIDDEN
#define YBUG() T(YAFFS_TRACE_BUG,(TSTR("==>> yaffs bug: %s %d" TENDSTR),TEXT(__FILE__),__LINE__))
#endif
+
*/
//yaffs_guts.c
-const char *yaffs_guts_c_version="$Id: yaffs_guts.c,v 1.35 2004-09-21 03:03:12 charles Exp $";
+const char *yaffs_guts_c_version="$Id: yaffs_guts.c,v 1.36 2004-10-10 17:54:59 charles Exp $";
#include "yportenv.h"
#else
-//#if defined(CONFIG_KERNEL_2_5)
-#if defined(__KERNEL__) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))
- theObject->st_atime = theObject->st_mtime = theObject->st_ctime = CURRENT_TIME.tv_sec;
-#else
- theObject->st_atime = theObject->st_mtime = theObject->st_ctime = CURRENT_TIME;
-#endif
+ theObject->st_atime = theObject->st_mtime = theObject->st_ctime = Y_CURRENT_TIME;
+
#endif
switch(type)
{
in->win_ctime[1] = in->win_mtime[1] = in->win_atime[1];
#else
-//#if defined(CONFIG_KERNEL_2_5)
-#if defined(__KERNEL__) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))
- in->st_atime = in->st_mtime = in->st_ctime = CURRENT_TIME.tv_sec;
-#else
- in->st_atime = in->st_mtime = in->st_ctime = CURRENT_TIME;
-#endif
+
+ in->st_atime = in->st_mtime = in->st_ctime = Y_CURRENT_TIME;
in->st_rdev = rdev;
in->st_uid = uid;
in->st_gid = gid;
#ifdef CONFIG_YAFFS_WINCE
yfsd_WinFileTimeNow(in->win_mtime);
#else
-//#if defined(CONFIG_KERNEL_2_5)
-#if defined(__KERNEL__) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))
- in->st_mtime = CURRENT_TIME.tv_sec;
-#else
- in->st_mtime = CURRENT_TIME;
-#endif
+ in->st_mtime = Y_CURRENT_TIME;
#endif
}
if(valid & ATTR_UID) obj->st_uid = attr->ia_uid;
if(valid & ATTR_GID) obj->st_gid = attr->ia_gid;
-//#if defined(CONFIG_KERNEL_2_5)
-#if defined(__KERNEL__) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))
+ if(valid & ATTR_ATIME) obj->st_atime = Y_TIME_CONVERT(attr->ia_atime);
+ if(valid & ATTR_CTIME) obj->st_ctime = Y_TIME_CONVERT(attr->ia_ctime);
+ if(valid & ATTR_MTIME) obj->st_mtime = Y_TIME_CONVERT(attr->ia_mtime);
- if(valid & ATTR_ATIME) obj->st_atime = attr->ia_atime.tv_sec;
- if(valid & ATTR_CTIME) obj->st_ctime = attr->ia_ctime.tv_sec;
- if(valid & ATTR_MTIME) obj->st_mtime = attr->ia_mtime.tv_sec;
-#else
- if(valid & ATTR_ATIME) obj->st_atime = attr->ia_atime;
- if(valid & ATTR_CTIME) obj->st_ctime = attr->ia_ctime;
- if(valid & ATTR_MTIME) obj->st_mtime = attr->ia_mtime;
-#endif
if(valid & ATTR_SIZE) yaffs_ResizeFile(obj,attr->ia_size);
return YAFFS_OK;
}
+
int yaffs_GetAttributes(yaffs_Object *obj, struct iattr *attr)
{
unsigned int valid = 0;
attr->ia_uid = obj->st_uid; valid |= ATTR_UID;
attr->ia_gid = obj->st_gid; valid |= ATTR_GID;
-//#if defined(CONFIG_KERNEL_2_5)
-#if defined(__KERNEL__) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))
- attr->ia_atime.tv_sec = obj->st_atime; valid |= ATTR_ATIME;
- attr->ia_ctime.tv_sec = obj->st_ctime; valid |= ATTR_CTIME;
- attr->ia_mtime.tv_sec = obj->st_mtime; valid |= ATTR_MTIME;
-#else
- attr->ia_atime = obj->st_atime; valid |= ATTR_ATIME;
- attr->ia_ctime = obj->st_ctime; valid |= ATTR_CTIME;
- attr->ia_mtime = obj->st_mtime; valid |= ATTR_MTIME;
-#endif
+
+ Y_TIME_CONVERT(attr->ia_atime) = obj->st_atime; valid |= ATTR_ATIME;
+ Y_TIME_CONVERT(attr->ia_ctime) = obj->st_ctime; valid |= ATTR_CTIME;
+ Y_TIME_CONVERT(attr->ia_mtime) = obj->st_mtime; valid |= ATTR_MTIME;
+
attr->ia_size = yaffs_GetFileSize(obj); valid |= ATTR_SIZE;
attr->ia_valid = valid;
+
+
*
* Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
*
- * $Id: yportenv.h,v 1.12 2004-10-04 23:24:21 charles Exp $
+ * $Id: yportenv.h,v 1.13 2004-10-10 17:54:59 charles Exp $
*
*/
#define YAFFS_ROOT_MODE 0666
#define YAFFS_LOSTNFOUND_MODE 0666
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))
+#define Y_CURRENT_TIME CURRENT_TIME.tv_sec
+#define Y_TIME_CONVERT(x) (x).tv_sec
+#else
+#define Y_CURRENT_TIME CURRENT_TIME
+#define Y_TIME_CONVERT(x) (x)
+#endif
#define yaffs_SumCompare(x,y) ((x) == (y))
#define yaffs_strcmp(a,b) strcmp(a,b)
#endif
#endif
+