[BACK]Return to fstat.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / fstat

Diff for /src/usr.bin/fstat/fstat.c between version 1.13 and 1.14

version 1.13, 1997/12/06 21:19:34 version 1.14, 1998/06/25 06:21:34
Line 89 
Line 89 
 #include <stdlib.h>  #include <stdlib.h>
 #include <string.h>  #include <string.h>
 #include <unistd.h>  #include <unistd.h>
   #include "fstat.h"
   
 #define TEXT    -1  #define TEXT    -1
 #define CDIR    -2  #define CDIR    -2
Line 103 
Line 104 
 } DEVS;  } DEVS;
 DEVS *devs;  DEVS *devs;
   
 struct  filestat {  
         long            fsid;  
         long            fileid;  
         mode_t          mode;  
         u_int64_t       size;  
         dev_t           rdev;  
 };  
   
 int     fsflg,  /* show files on same filesystem as file(s) argument */  int     fsflg,  /* show files on same filesystem as file(s) argument */
         pflg,   /* show files open by a particular pid */          pflg,   /* show files open by a particular pid */
         uflg;   /* show files open by a particular (effective) user */          uflg;   /* show files open by a particular (effective) user */
Line 143 
Line 136 
   
 int ufs_filestat __P((struct vnode *, struct filestat *));  int ufs_filestat __P((struct vnode *, struct filestat *));
 int ext2fs_filestat __P((struct vnode *, struct filestat *));  int ext2fs_filestat __P((struct vnode *, struct filestat *));
   int isofs_filestat __P((struct vnode *, struct filestat *));
   int msdos_filestat __P((struct vnode *, struct filestat *));
 int nfs_filestat __P((struct vnode *, struct filestat *));  int nfs_filestat __P((struct vnode *, struct filestat *));
 void dofiles __P((struct kinfo_proc *));  void dofiles __P((struct kinfo_proc *));
 void getinetproto __P((int));  void getinetproto __P((int));
Line 267 
Line 262 
 }  }
   
 char    *Uname, *Comm;  char    *Uname, *Comm;
 int     Pid;  pid_t   Pid;
   
 #define PREFIX(i) printf("%-8.8s %-10s %5d", Uname, Comm, Pid); \  #define PREFIX(i) printf("%-8.8s %-10s %5d", Uname, Comm, Pid); \
         switch(i) { \          switch(i) { \
Line 408 
Line 403 
                         if (!ext2fs_filestat(&vn, &fst))                          if (!ext2fs_filestat(&vn, &fst))
                                 badtype = "error";                                  badtype = "error";
                         break;                          break;
                   case VT_ISOFS:
                           if (!isofs_filestat(&vn, &fst))
                                   badtype = "error";
                           break;
                   case VT_MSDOSFS:
                           if (!msdos_filestat(&vn, &fst))
                                   badtype = "error";
                           break;
                 default: {                  default: {
                         static char unknown[30];                          static char unknown[30];
                         sprintf(badtype = unknown, "?(%x)", vn.v_tag);                          sprintf(badtype = unknown, "?(%x)", vn.v_tag);
Line 509 
Line 512 
         fsp->mode = inode.i_e2fs_mode;          fsp->mode = inode.i_e2fs_mode;
         fsp->size = inode.i_e2fs_size;          fsp->size = inode.i_e2fs_size;
         fsp->rdev = 0;  /* XXX */          fsp->rdev = 0;  /* XXX */
   
           return 1;
   }
   
   int
   msdos_filestat(vp, fsp)
           struct vnode *vp;
           struct filestat *fsp;
   {
   #if 0
           struct inode inode;
   
           if (!KVM_READ(VTOI(vp), &inode, sizeof (inode))) {
                   dprintf(stderr, "can't read inode at %p for pid %d\n",
                           VTOI(vp), Pid);
                   return 0;
           }
           fsp->fsid = inode.i_dev & 0xffff;
           fsp->fileid = (long)inode.i_number;
           fsp->mode = inode.i_e2fs_mode;
           fsp->size = inode.i_e2fs_size;
           fsp->rdev = 0;  /* XXX */
   #endif
   
         return 1;          return 1;
 }  }

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14