aboutsummaryrefslogtreecommitdiff
path: root/sys/miscfs/devfs/devfs_vnops.c
diff options
context:
space:
mode:
authorJulian Elischer <julian@FreeBSD.org>1995-04-20 22:00:05 +0000
committerJulian Elischer <julian@FreeBSD.org>1995-04-20 22:00:05 +0000
commitb9494fba5163160a78f78df20d7a0ed4e716578b (patch)
tree4255608ee8867982a0055dd1fa0b874fa2ce6d57 /sys/miscfs/devfs/devfs_vnops.c
parent7ca7a1934b4f727a83e7422ff82056f1b814e31d (diff)
Notes
Diffstat (limited to 'sys/miscfs/devfs/devfs_vnops.c')
-rw-r--r--sys/miscfs/devfs/devfs_vnops.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/sys/miscfs/devfs/devfs_vnops.c b/sys/miscfs/devfs/devfs_vnops.c
index 66bb534fcb27..edfd2490e50d 100644
--- a/sys/miscfs/devfs/devfs_vnops.c
+++ b/sys/miscfs/devfs/devfs_vnops.c
@@ -1,7 +1,7 @@
/*
* Written by Julian Elischer (julian@DIALix.oz.au)
*
- * $Header: /sys/miscfs/devfs/RCS/devfs_vnops.c,v 1.3 1995/01/07 04:20:25 root Exp root $
+ * $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_vnops.c,v 1.2 1995/04/20 07:34:54 julian Exp $
*
* symlinks can wait 'til later.
*/
@@ -903,6 +903,7 @@ DBPRINT(("readdir\n"));
dirent.d_fileno = (unsigned long int)dir_node;
name = ".";
dirent.d_namlen = 1;
+ dirent.d_type = DT_DIR;
break;
case 1:
if(dir_node->by.Dir.parent)
@@ -912,12 +913,32 @@ DBPRINT(("readdir\n"));
dirent.d_fileno = (unsigned long int)dir_node;
name = "..";
dirent.d_namlen = 2;
+ dirent.d_type = DT_DIR;
break;
default:
dirent.d_fileno =
(unsigned long int)name_node->dnp;
dirent.d_namlen = strlen(name_node->name);
name = name_node->name;
+ switch(name_node->dnp->type) {
+ case DEV_BDEV:
+ dirent.d_type = DT_BLK;
+ break;
+ case DEV_CDEV:
+ dirent.d_type = DT_CHR;
+ break;
+ case DEV_DDEV:
+ dirent.d_type = DT_SOCK; /*XXX*/
+ break;
+ case DEV_DIR:
+ dirent.d_type = DT_DIR;
+ break;
+ case DEV_SLNK:
+ dirent.d_type = DT_LNK;
+ break;
+ default:
+ dirent.d_type = DT_UNKNOWN;
+ }
}
reclen = dirent.d_reclen = DIRSIZ (&dirent);