summaryrefslogtreecommitdiff
path: root/com32/modules/dir.c
diff options
context:
space:
mode:
Diffstat (limited to 'com32/modules/dir.c')
-rw-r--r--com32/modules/dir.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/com32/modules/dir.c b/com32/modules/dir.c
new file mode 100644
index 00000000..913c2ca7
--- /dev/null
+++ b/com32/modules/dir.c
@@ -0,0 +1,35 @@
+/*
+ * A dir test module
+ */
+#include <stdio.h>
+#include <console.h>
+#include <string.h>
+#include <com32.h>
+#include <dirent.h>
+
+int main(int argc, char *argv[])
+{
+ DIR *dir;
+ struct dirent *de;
+
+ openconsole(&dev_null_r, &dev_stdcon_w);
+
+ if (argc != 2) {
+ printf("Usage: dir direcotry\n");
+ return 0;
+ }
+
+ dir = opendir(argv[1]);
+ if (dir == NULL) {
+ printf("Unable to read dir: %s\n", argv[1]);
+ return 0;
+ }
+
+ while ((de = readdir(dir)) != NULL)
+ printf("%s\n", de->d_name);
+
+ closedir(dir);
+
+ return 0;
+}
+