Index: trunk/kernel/fs/vfs.h
===================================================================
--- trunk/kernel/fs/vfs.h	(revision 611)
+++ trunk/kernel/fs/vfs.h	(revision 612)
@@ -467,4 +467,5 @@
 
 
+
 /******************************************************************************************
  *        These functions access / modify the distributed VFS Inode Tree
@@ -599,14 +600,15 @@
  * @ return 0 if success / -1 if failure.
  *****************************************************************************************/
-error_t vfs_new_child_init( xptr_t   parent_xp,
-                            xptr_t   dentry_xp,
-                            xptr_t   child_xp );
-
-/******************************************************************************************
- * This function is called by the vfs_mkdir() function to create the two special dentries
- * <.> and <..> in a new directory identified by the <child_xp> argument. The parent
- * directory inode is defined by the <parent_xp> argument.
- * The two dentries are introduced in the Inode Tree. They are also introduced in the
- * in the child directory mapper, and the IOC device is updated.
+error_t vfs_new_dentry_init( xptr_t   parent_xp,
+                             xptr_t   dentry_xp,
+                             xptr_t   child_xp );
+
+/******************************************************************************************
+ * This function creates in the directory identified by the <child_xp> argument, 
+ * the two special dentries <.> and <..>. The parent directory inode is defined
+ * by the <parent_xp> argument. The two dentries are introduced in the Inode Tree.
+ * They are also introduced in the child directory mapper, and the IOC device is updated.
+ * This function is called by all functions creating a brand new directory : vfs_mkdir(),
+ * devfs_global_init(), and devfs_local_init().
  ******************************************************************************************
  * @ child_xp    : extended pointer on new directory inode.
@@ -633,4 +635,5 @@
 			               uint32_t           fs_type,
 			               struct process_s * process );
+
 
 
@@ -865,6 +868,8 @@
 
 
-/******************************************************************************************
- *        These functions define the VFS "FS" API (to a specific File System)
+
+
+/******************************************************************************************
+ *        These functions define the VFS "FS" API to a specific File System
  *****************************************************************************************/
 
@@ -923,8 +928,40 @@
  * @ return 0 if success / return ENOENT if not found.
  *****************************************************************************************/
-error_t vfs_fs_child_init( vfs_inode_t * parent,
+error_t vfs_fs_get_dentry( vfs_inode_t * parent,
                            char        * name,
                            xptr_t        child_xp );
 
+/******************************************************************************************
+ * This function scan the mapper of an an existing parent inode directory, identified by
+ * the <inode> argument and copy up to <max_dirent> valid dentries to a 
+ * local dirent array, defined by the <array> argument. The <min_dentry> argument defines
+ * the index of the first dentry to copied to the target dirent array.
+ * This function returns in the <entries> buffer the number of dentries actually written,
+ * and signals in the <done> buffer when the last valid entry has been found.
+ * If the <detailed> argument is true, a dentry/inode couple that does not exist in
+ * the Inode Tree is dynamically created, and all dirent fiels are documented in the
+ * dirent array. Otherwise, only the dentry name is documented.
+ *
+ * Depending on the file system type, it calls the relevant, FS specific function.
+ * It must be called by a thread running in the cluster containing the parent inode.
+ * This function does NOT take any lock.
+ ******************************************************************************************
+ * @ inode      : [in]  local pointer on directory inode.
+ * @ array      : [in]  local pointer on array of dirents.
+ * @ max_dirent : [in]  max number of slots in dirent array.
+ * @ min_dentry : [in]  index of first dentry to be copied into array.
+ * @ detailed   : [in]  dynamic inode creation if true.
+ * @ entries    : [out] number of dentries actually copied into array.
+ * @ done       : [out] Boolean true when last entry found.
+ * @ return 0 if success / return -1 if failure.
+ *****************************************************************************************/
+error_t vfs_fs_get_user_dir( vfs_inode_t   * inode,
+                             struct dirent * array,
+                             uint32_t        max_dirent,
+                             uint32_t        min_dentry,
+                             bool_t          detailed,
+                             uint32_t      * entries,
+                             bool_t        * done );
+ 
 /*****************************************************************************************
  * This function  updates the FS on the IOC device for a given inode identified by 
