Annotation of xinu/sys/LSI/dudir.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.