[BACK]Return to kernfs_vnops.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / miscfs / kernfs

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/miscfs/kernfs/kernfs_vnops.c between version 1.98.2.3 and 1.98.2.3.2.4

version 1.98.2.3, 2004/05/15 13:35:27 version 1.98.2.3.2.4, 2005/11/29 12:34:37
Line 164  const struct kernfs_fileop kernfs_defaul
Line 164  const struct kernfs_fileop kernfs_defaul
   { .kf_fileop = KERNFS_FILEOP_GETATTR,    { .kf_fileop = KERNFS_FILEOP_GETATTR,
     .kf_genop = {kernfs_default_fileop_getattr} },      .kf_genop = {kernfs_default_fileop_getattr} },
   { .kf_fileop = KERNFS_FILEOP_IOCTL },    { .kf_fileop = KERNFS_FILEOP_IOCTL },
   { .kf_fileop = KERNFS_FILEOP_MMAP },  
   { .kf_fileop = KERNFS_FILEOP_CLOSE },    { .kf_fileop = KERNFS_FILEOP_CLOSE },
   { .kf_fileop = KERNFS_FILEOP_WRITE, .kf_genop = {kernfs_default_xwrite} },    { .kf_fileop = KERNFS_FILEOP_WRITE, .kf_genop = {kernfs_default_xwrite} },
 };  };
Line 183  int kernfs_write __P((void *));
Line 182  int kernfs_write __P((void *));
 int     kernfs_ioctl    __P((void *));  int     kernfs_ioctl    __P((void *));
 #define kernfs_poll     genfs_poll  #define kernfs_poll     genfs_poll
 #define kernfs_revoke   genfs_revoke  #define kernfs_revoke   genfs_revoke
 int     kernfs_mmap     __P((void *));  
 #define kernfs_fsync    genfs_nullop  #define kernfs_fsync    genfs_nullop
 #define kernfs_seek     genfs_nullop  #define kernfs_seek     genfs_nullop
 #define kernfs_remove   genfs_eopnotsupp  #define kernfs_remove   genfs_eopnotsupp
Line 233  const struct vnodeopv_entry_desc kernfs_
Line 231  const struct vnodeopv_entry_desc kernfs_
         { &vop_ioctl_desc, kernfs_ioctl },              /* ioctl */          { &vop_ioctl_desc, kernfs_ioctl },              /* ioctl */
         { &vop_poll_desc, kernfs_poll },                /* poll */          { &vop_poll_desc, kernfs_poll },                /* poll */
         { &vop_revoke_desc, kernfs_revoke },            /* revoke */          { &vop_revoke_desc, kernfs_revoke },            /* revoke */
         { &vop_mmap_desc, kernfs_mmap },                /* mmap */  
         { &vop_fsync_desc, kernfs_fsync },              /* fsync */          { &vop_fsync_desc, kernfs_fsync },              /* fsync */
         { &vop_seek_desc, kernfs_seek },                /* seek */          { &vop_seek_desc, kernfs_seek },                /* seek */
         { &vop_remove_desc, kernfs_remove },            /* remove */          { &vop_remove_desc, kernfs_remove },            /* remove */
Line 934  kernfs_read(v)
Line 931  kernfs_read(v)
         struct uio *uio = ap->a_uio;          struct uio *uio = ap->a_uio;
         struct kernfs_node *kfs = VTOKERN(ap->a_vp);          struct kernfs_node *kfs = VTOKERN(ap->a_vp);
         char strbuf[KSTRING], *buf;          char strbuf[KSTRING], *buf;
         off_t off;          int off;
         size_t len;          size_t len;
         int error;          int error;
   
         if (ap->a_vp->v_type == VDIR)          if (ap->a_vp->v_type == VDIR)
                 return (EOPNOTSUPP);                  return (EOPNOTSUPP);
   
         off = uio->uio_offset;          off = (int)uio->uio_offset;
           /* Don't allow negative offsets */
           if (off < 0)
                   return EINVAL;
   
         buf = strbuf;          buf = strbuf;
         if ((error = kernfs_xread(kfs, off, &buf, sizeof(strbuf), &len)) == 0)          if ((error = kernfs_xread(kfs, off, &buf, sizeof(strbuf), &len)) == 0)
                 error = uiomove(buf, len, uio);                  error = uiomove(buf, len, uio);
Line 1012  kernfs_ioctl(v)
Line 1013  kernfs_ioctl(v)
             EPASSTHROUGH);              EPASSTHROUGH);
 }  }
   
 int  
 kernfs_mmap(v)  
         void *v;  
 {  
         struct vop_mmap_args /* {  
                 const struct vnodeop_desc *a_desc;  
                 struct vnode *a_vp;  
                 int a_fflags;  
                 struct ucred *a_cred;  
                 struct proc *a_p;  
         } */ *ap = v;  
         struct kernfs_node *kfs = VTOKERN(ap->a_vp);  
   
         return kernfs_try_fileop(kfs->kfs_type, KERNFS_FILEOP_MMAP, v, 0);  
 }  
   
 static int  static int
 kernfs_setdirentfileno_kt(struct dirent *d, const struct kern_target *kt,  kernfs_setdirentfileno_kt(struct dirent *d, const struct kern_target *kt,
     u_int32_t value, struct vop_readdir_args *ap)      u_int32_t value, struct vop_readdir_args *ap)

Legend:
Removed from v.1.98.2.3  
changed lines
  Added in v.1.98.2.3.2.4

CVSweb <webmaster@jp.NetBSD.org>