Add dir_list(), dir_dump().
authorBen Pfaff <blp@cs.stanford.edu>
Tue, 31 Aug 2004 22:01:10 +0000 (22:01 +0000)
committerBen Pfaff <blp@cs.stanford.edu>
Tue, 31 Aug 2004 22:01:10 +0000 (22:01 +0000)
src/filesys/directory.c
src/filesys/directory.h

index 43f87f0e13e59b2b85afd92ef4da2bba72b5bd31..93a505b2424500f12c24087dcf01b20efd61d6ef 100644 (file)
@@ -1,5 +1,6 @@
 #include "directory.h"
 #include "file.h"
+#include "fsutil.h"
 #include "lib.h"
 #include "malloc.h"
 
@@ -116,5 +117,26 @@ dir_remove (struct dir *d, const char *name)
     return false;
 }
 
-void dir_list (const struct dir *);
-void dir_print (const struct dir *);
+void
+dir_list (const struct dir *d)
+{
+  struct dir_entry *e;
+  
+  for (e = d->entries; e < d->entries + d->entry_cnt; e++)
+    if (e->in_use)
+      printk ("%s\n", e->name);
+}
+
+void
+dir_dump (const struct dir *d) 
+{
+  struct dir_entry *e;
+  
+  for (e = d->entries; e < d->entries + d->entry_cnt; e++)
+    if (e->in_use) 
+      {
+        printk ("Contents of %s:\n", e->name);
+        fsutil_print (e->name);
+        printk ("\n");
+      }
+}
index fe7f333adbe076279fe8f14f7702eac0ccdf8f89..aa07ad1b25586e5f1aa4f3c43a00b99241d4ed0f 100644 (file)
@@ -9,6 +9,12 @@
    This is the traditional UNIX maximum. */
 #define FILENAME_LEN_MAX 14
 
+struct dir 
+  {
+    size_t entry_cnt;
+    struct dir_entry *entries;
+  };
+
 struct dir_entry 
   {
     bool in_use;
@@ -16,12 +22,6 @@ struct dir_entry
     disk_sector_no filehdr_sector;
   };
 
-struct dir 
-  {
-    size_t entry_cnt;
-    struct dir_entry *entries;
-  };
-
 struct file;
 bool dir_init (struct dir *, size_t entry_cnt);
 void dir_destroy (struct dir *);
@@ -31,6 +31,6 @@ bool dir_lookup (const struct dir *, const char *name, disk_sector_no *);
 bool dir_add (struct dir *, const char *name, disk_sector_no);
 bool dir_remove (struct dir *, const char *name);
 void dir_list (const struct dir *);
-void dir_print (const struct dir *);
+void dir_dump (const struct dir *);
 
 #endif /* directory.h */