Further extensions for VxWorks wrapper
[yaffs2.git] / direct / yaffs_attribs.c
index 86e5e6eece13a1557a75cafc82bffd672285188e..de80fe42fcd0e70f7a147707b900b55f67fcca9d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
  *
- * Copyright (C) 2002-2010 Aleph One Ltd.
+ * Copyright (C) 2002-2011 Aleph One Ltd.
  *   for Toby Churchill Ltd and Brightstar Engineering
  *
  * Created by Charles Manning <charles@aleph1.co.uk>
 
 void yaffs_load_attribs(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh)
 {
+#ifdef CONFIG_YAFFS_WINCE
+       obj->win_atime[0] = oh->win_atime[0];
+       obj->win_ctime[0] = oh->win_ctime[0];
+       obj->win_mtime[0] = oh->win_mtime[0];
+       obj->win_atime[1] = oh->win_atime[1];
+       obj->win_ctime[1] = oh->win_ctime[1];
+       obj->win_mtime[1] = oh->win_mtime[1];
+#else
        obj->yst_uid = oh->yst_uid;
        obj->yst_gid = oh->yst_gid;
        obj->yst_atime = oh->yst_atime;
        obj->yst_mtime = oh->yst_mtime;
        obj->yst_ctime = oh->yst_ctime;
        obj->yst_rdev = oh->yst_rdev;
+#endif
 }
 
 
 void yaffs_load_attribs_oh(struct yaffs_obj_hdr *oh, struct yaffs_obj *obj)
 {
 #ifdef CONFIG_YAFFS_WINCE
-               oh->win_atime[0] = obj->win_atime[0];
-               oh->win_ctime[0] = obj->win_ctime[0];
-               oh->win_mtime[0] = obj->win_mtime[0];
-               oh->win_atime[1] = obj->win_atime[1];
-               oh->win_ctime[1] = obj->win_ctime[1];
-               oh->win_mtime[1] = obj->win_mtime[1];
+       oh->win_atime[0] = obj->win_atime[0];
+       oh->win_ctime[0] = obj->win_ctime[0];
+       oh->win_mtime[0] = obj->win_mtime[0];
+       oh->win_atime[1] = obj->win_atime[1];
+       oh->win_ctime[1] = obj->win_ctime[1];
+       oh->win_mtime[1] = obj->win_mtime[1];
 #else
-               oh->yst_uid = obj->yst_uid;
-               oh->yst_gid = obj->yst_gid;
-               oh->yst_atime = obj->yst_atime;
-               oh->yst_mtime = obj->yst_mtime;
-               oh->yst_ctime = obj->yst_ctime;
-               oh->yst_rdev = obj->yst_rdev;
+       oh->yst_uid = obj->yst_uid;
+       oh->yst_gid = obj->yst_gid;
+       oh->yst_atime = obj->yst_atime;
+       oh->yst_mtime = obj->yst_mtime;
+       oh->yst_ctime = obj->yst_ctime;
+       oh->yst_rdev = obj->yst_rdev;
 #endif
-
 }
 
 void yaffs_attribs_init(struct yaffs_obj *obj, u32 gid, u32 uid, u32 rdev)
 {
 
 #ifdef CONFIG_YAFFS_WINCE
-               yfsd_win_file_time_now(obj->win_atime);
-               obj->win_ctime[0] = obj->win_mtime[0] = obj->win_atime[0];
-               obj->win_ctime[1] = obj->win_mtime[1] = obj->win_atime[1];
+       yfsd_win_file_time_now(obj->win_atime);
+       obj->win_ctime[0] = obj->win_mtime[0] = obj->win_atime[0];
+       obj->win_ctime[1] = obj->win_mtime[1] = obj->win_atime[1];
 
 #else
-       yaffs_load_current_time(obj,1,1);
+       yaffs_load_current_time(obj, 1, 1);
        obj->yst_rdev = rdev;
        obj->yst_uid = uid;
        obj->yst_gid = gid;
@@ -64,23 +72,23 @@ void yaffs_attribs_init(struct yaffs_obj *obj, u32 gid, u32 uid, u32 rdev)
 void yaffs_load_current_time(struct yaffs_obj *obj, int do_a, int do_c)
 {
 #ifdef CONFIG_YAFFS_WINCE
-               yfsd_win_file_time_now(the_obj->win_atime);
-               the_obj->win_ctime[0] = the_obj->win_mtime[0] =
-                   the_obj->win_atime[0];
-               the_obj->win_ctime[1] = the_obj->win_mtime[1] =
-                   the_obj->win_atime[1];
+       yfsd_win_file_time_now(obj->win_atime);
+       obj->win_ctime[0] = obj->win_mtime[0] =
+           obj->win_atime[0];
+       obj->win_ctime[1] = obj->win_mtime[1] =
+           obj->win_atime[1];
 
 #else
 
-        obj->yst_mtime = Y_CURRENT_TIME;
-        if(do_a)
-                obj->yst_atime = obj->yst_atime;
-        if(do_c)
-                obj->yst_ctime = obj->yst_atime;
+       obj->yst_mtime = Y_CURRENT_TIME;
+       if (do_a)
+               obj->yst_atime = obj->yst_atime;
+       if (do_c)
+               obj->yst_ctime = obj->yst_atime;
 #endif
 }
 
-loff_t yaffs_get_file_size(struct yaffs_obj *obj)
+static Y_LOFF_T yaffs_get_file_size(struct yaffs_obj *obj)
 {
        YCHAR *alias = NULL;
        obj = yaffs_get_equivalent_obj(obj);
@@ -90,64 +98,11 @@ loff_t yaffs_get_file_size(struct yaffs_obj *obj)
                return obj->variant.file_variant.file_size;
        case YAFFS_OBJECT_TYPE_SYMLINK:
                alias = obj->variant.symlink_variant.alias;
-               if(!alias)
+               if (!alias)
                        return 0;
-               return strnlen(alias,YAFFS_MAX_ALIAS_LENGTH);
+               return yaffs_strnlen(alias, YAFFS_MAX_ALIAS_LENGTH);
        default:
                return 0;
        }
 }
 
-int yaffs_set_attribs(struct yaffs_obj *obj, struct iattr *attr)
-{
-       unsigned int valid = attr->ia_valid;
-
-       if (valid & ATTR_MODE)
-               obj->yst_mode = attr->ia_mode;
-       if (valid & ATTR_UID)
-               obj->yst_uid = attr->ia_uid;
-       if (valid & ATTR_GID)
-               obj->yst_gid = attr->ia_gid;
-
-       if (valid & ATTR_ATIME)
-               obj->yst_atime = Y_TIME_CONVERT(attr->ia_atime);
-       if (valid & ATTR_CTIME)
-               obj->yst_ctime = Y_TIME_CONVERT(attr->ia_ctime);
-       if (valid & ATTR_MTIME)
-               obj->yst_mtime = Y_TIME_CONVERT(attr->ia_mtime);
-
-       if (valid & ATTR_SIZE)
-               yaffs_resize_file(obj, attr->ia_size);
-
-       yaffs_update_oh(obj, NULL, 1, 0, 0, NULL);
-
-       return YAFFS_OK;
-
-}
-
-int yaffs_get_attribs(struct yaffs_obj *obj, struct iattr *attr)
-{
-       unsigned int valid = 0;
-
-       attr->ia_mode = obj->yst_mode;
-       valid |= ATTR_MODE;
-       attr->ia_uid = obj->yst_uid;
-       valid |= ATTR_UID;
-       attr->ia_gid = obj->yst_gid;
-       valid |= ATTR_GID;
-
-       Y_TIME_CONVERT(attr->ia_atime) = obj->yst_atime;
-       valid |= ATTR_ATIME;
-       Y_TIME_CONVERT(attr->ia_ctime) = obj->yst_ctime;
-       valid |= ATTR_CTIME;
-       Y_TIME_CONVERT(attr->ia_mtime) = obj->yst_mtime;
-       valid |= ATTR_MTIME;
-
-       attr->ia_size = yaffs_get_file_size(obj);
-       valid |= ATTR_SIZE;
-
-       attr->ia_valid = valid;
-
-       return YAFFS_OK;
-}
-