[BACK]Return to devfs_vnops.c CVS log [TXT][DIR] Up to [local] / prex-old / usr / server / fs / devfs

Diff for /prex-old/usr/server/fs/devfs/devfs_vnops.c between version 1.1.1.1 and 1.1.1.1.2.1

version 1.1.1.1, 2008/06/03 10:38:51 version 1.1.1.1.2.1, 2008/08/13 17:12:44
Line 27 
Line 27 
  * SUCH DAMAGE.   * SUCH DAMAGE.
  */   */
   
   /*
    * devfs - device file system.
    */
   
 #include <prex/prex.h>  #include <prex/prex.h>
 #include <sys/stat.h>  #include <sys/stat.h>
 #include <sys/vnode.h>  #include <sys/vnode.h>
Line 51 
Line 55 
 #define devfs_vget      ((vfsop_vget_t)vfs_nullop)  #define devfs_vget      ((vfsop_vget_t)vfs_nullop)
 #define devfs_statfs    ((vfsop_statfs_t)vfs_nullop)  #define devfs_statfs    ((vfsop_statfs_t)vfs_nullop)
   
 static int devfs_open(vnode_t, mode_t);  static int devfs_open   (vnode_t, int);
 static int devfs_close(vnode_t, file_t);  static int devfs_close  (vnode_t, file_t);
 static int devfs_read(vnode_t, file_t, void *, size_t, size_t *);  static int devfs_read   (vnode_t, file_t, void *, size_t, size_t *);
 static int devfs_write(vnode_t, file_t, void *, size_t, size_t *);  static int devfs_write  (vnode_t, file_t, void *, size_t, size_t *);
 #define devfs_seek      ((vnop_seek_t)vop_nullop)  #define devfs_seek      ((vnop_seek_t)vop_nullop)
 static int devfs_ioctl(vnode_t, file_t, int, u_long);  static int devfs_ioctl  (vnode_t, file_t, u_long, void *);
 #define devfs_fsync     ((vnop_fsync_t)vop_nullop)  #define devfs_fsync     ((vnop_fsync_t)vop_nullop)
 static int devfs_readdir(vnode_t, file_t, struct dirent *);  static int devfs_readdir(vnode_t, file_t, struct dirent *);
 static int devfs_lookup(vnode_t, char *, vnode_t);  static int devfs_lookup (vnode_t, char *, vnode_t);
 #define devfs_create    ((vnop_create_t)vop_einval)  #define devfs_create    ((vnop_create_t)vop_einval)
 #define devfs_remove    ((vnop_remove_t)vop_einval)  #define devfs_remove    ((vnop_remove_t)vop_einval)
 #define devfs_rename    ((vnop_rename_t)vop_einval)  #define devfs_rename    ((vnop_rename_t)vop_einval)
Line 109 
Line 113 
 };  };
   
 static int  static int
 devfs_open(vnode_t vp, mode_t mode)  devfs_open(vnode_t vp, int flags)
 {  {
         char *path;          char *path;
         device_t dev;          device_t dev;
         int err;          int err;
   
         dprintf("devfs_open: path=%s\n", vp->v_path);          DPRINTF(("devfs_open: path=%s\n", vp->v_path));
   
         path = vp->v_path;          path = vp->v_path;
         if (!strcmp(path, "/")) /* root ? */          if (!strcmp(path, "/")) /* root ? */
Line 123 
Line 127 
   
         if (*path == '/')          if (*path == '/')
                 path++;                  path++;
         err = device_open(path, mode & DO_RWMASK, &dev);          err = device_open(path, flags & DO_RWMASK, &dev);
         if (err) {          if (err) {
                 dprintf("devfs_open: can not open device = %s error=%d\n",                  DPRINTF(("devfs_open: can not open device = %s error=%d\n",
                         path, err);                           path, err));
                 return err;                  return err;
         }          }
         vp->v_data = (void *)dev;       /* Store private data */          vp->v_data = (void *)dev;       /* Store private data */
Line 137 
Line 141 
 devfs_close(vnode_t vp, file_t fp)  devfs_close(vnode_t vp, file_t fp)
 {  {
   
         dprintf("devfs_close: fp=%x\n", fp);          DPRINTF(("devfs_close: fp=%x\n", fp));
   
         if (!strcmp(vp->v_path, "/"))   /* root ? */          if (!strcmp(vp->v_path, "/"))   /* root ? */
                 return 0;                  return 0;
Line 168 
Line 172 
         err = device_write((device_t)vp->v_data, buf, &len, fp->f_offset);          err = device_write((device_t)vp->v_data, buf, &len, fp->f_offset);
         if (!err)          if (!err)
                 *result = len;                  *result = len;
         dprintf("devfs_write: err=%d len=%d\n", err, len);          DPRINTF(("devfs_write: err=%d len=%d\n", err, len));
         return err;          return err;
 }  }
   
 static int  static int
 devfs_ioctl(vnode_t vp, file_t fp, int cmd, u_long arg)  devfs_ioctl(vnode_t vp, file_t fp, u_long cmd, void *arg)
 {  {
         dprintf("devfs_ioctl\n");          DPRINTF(("devfs_ioctl\n"));
         return EINVAL;          return EINVAL;
 }  }
   
Line 185 
Line 189 
         struct info_device info;          struct info_device info;
         int err, i;          int err, i;
   
         dprintf("devfs_lookup:%s\n", name);          DPRINTF(("devfs_lookup:%s\n", name));
   
         if (*name == '\0')          if (*name == '\0')
                 return ENOENT;                  return ENOENT;
Line 216 
Line 220 
         struct info_device info;          struct info_device info;
         int err, i;          int err, i;
   
         dprintf("devfs_readdir offset=%d\n", fp->f_offset);          DPRINTF(("devfs_readdir offset=%d\n", fp->f_offset));
   
         i = 0;          i = 0;
         err = 0;          err = 0;
Line 236 
Line 240 
         dir->d_fileno = fp->f_offset;          dir->d_fileno = fp->f_offset;
         dir->d_namlen = strlen(dir->d_name);          dir->d_namlen = strlen(dir->d_name);
   
         dprintf("devfs_readdir: %s\n", dir->d_name);          DPRINTF(("devfs_readdir: %s\n", dir->d_name));
         fp->f_offset++;          fp->f_offset++;
         return 0;          return 0;
 }  }

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.1.2.1

CVSweb