|
|
1.1 root 1: /* dudir.c - dudir */
2:
3: #include <conf.h>
4: #include <kernel.h>
5: #include <io.h>
6: #include <disk.h>
7: #include <lfile.h>
8: #include <dir.h>
9:
10: /*------------------------------------------------------------------------
11: * dudir -- print file system directory in readable form on CONSOLE
12: *------------------------------------------------------------------------
13: */
14: dudir(diskdev)
15: int diskdev;
16: {
17: DBADDR firstdb, lastdb;
18: struct dir *dirptr;
19: struct fdes *fdptr;
20: int i, l;
21: PStype ps;
22:
23: if (isbaddev(diskdev))
24: return(SYSERR);
25: dirptr = dsdirec(diskdev);
26: if (dirptr->d_nfiles < 0 || dirptr->d_nfiles > NFDES
27: || dirptr->d_iblks < 0) {
28: kprintf("\n\nError: invalid directory format");
29: kprintf(" (id=%d , #files=%d)\n",dirptr->d_id,
30: dirptr->d_nfiles);
31: return(SYSERR);
32: }
33: kprintf("\n***Directory %d files ", dirptr->d_nfiles);
34: kprintf("(free lists: i=%d/%d, d=%d, id=%d)\n",
35: dirptr->d_filst, dirptr->d_iblks,
36: dirptr->d_fblst, dirptr->d_id);
37: if (dirptr->d_nfiles == 0)
38: return(OK);
39: kprintf("\nFile Name Size First iblock\n");
40: for (i=0 ; i<dirptr->d_nfiles ; i++) {
41: fdptr = &(dirptr->d_files[i]);
42: kprintf("%3d ",i+1);
43: if ((l=strlen(fdptr->fdname))<=0 || l>=FDNLEN)
44: kprintf("*ERROR*\n");
45: else
46: kprintf("%-10s%7D%11d\n",fdptr->fdname,
47: fdptr->fdlen, fdptr->fdiba);
48: }
49: return(OK);
50: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.