version 1.98, 2007/07/27 08:38:39 |
version 1.98.4.2, 2007/11/27 19:38:45 |
|
|
struct vnode *a_vp; |
struct vnode *a_vp; |
int a_mode; |
int a_mode; |
kauth_cred_t a_cred; |
kauth_cred_t a_cred; |
struct lwp *a_l; |
|
} */ *ap = v; |
} */ *ap = v; |
struct vnode *vp = ap->a_vp; |
struct vnode *vp = ap->a_vp; |
|
|
|
|
return EDUPFD; |
return EDUPFD; |
|
|
case Fctty: |
case Fctty: |
return cdev_open(devctty, ap->a_mode, 0, ap->a_l); |
return cdev_open(devctty, ap->a_mode, 0, curlwp); |
case Froot: |
case Froot: |
case Fdevfd: |
case Fdevfd: |
case Flink: |
case Flink: |
Line 459 fdesc_attr(fd, vap, cred, l) |
|
Line 458 fdesc_attr(fd, vap, cred, l) |
|
switch (fp->f_type) { |
switch (fp->f_type) { |
case DTYPE_VNODE: |
case DTYPE_VNODE: |
FILE_USE(fp); |
FILE_USE(fp); |
error = VOP_GETATTR((struct vnode *) fp->f_data, vap, cred, l); |
error = VOP_GETATTR((struct vnode *) fp->f_data, vap, cred); |
FILE_UNUSE(fp, l); |
FILE_UNUSE(fp, l); |
if (error == 0 && vap->va_type == VDIR) { |
if (error == 0 && vap->va_type == VDIR) { |
/* |
/* |
Line 579 fdesc_getattr(v) |
|
Line 578 fdesc_getattr(v) |
|
|
|
case Fdesc: |
case Fdesc: |
fd = VTOFDESC(vp)->fd_fd; |
fd = VTOFDESC(vp)->fd_fd; |
error = fdesc_attr(fd, vap, ap->a_cred, ap->a_l); |
error = fdesc_attr(fd, vap, ap->a_cred, curlwp); |
break; |
break; |
|
|
default: |
default: |
Line 601 fdesc_setattr(v) |
|
Line 600 fdesc_setattr(v) |
|
struct vnode *a_vp; |
struct vnode *a_vp; |
struct vattr *a_vap; |
struct vattr *a_vap; |
kauth_cred_t a_cred; |
kauth_cred_t a_cred; |
struct lwp *a_l; |
|
} */ *ap = v; |
} */ *ap = v; |
struct filedesc *fdp = ap->a_l->l_proc->p_fd; |
struct filedesc *fdp = curlwp->l_proc->p_fd; |
struct file *fp; |
struct file *fp; |
unsigned fd; |
unsigned fd; |
|
|
Line 630 fdesc_setattr(v) |
|
Line 628 fdesc_setattr(v) |
|
* On vnode's this will cause truncation and socket/pipes make |
* On vnode's this will cause truncation and socket/pipes make |
* no sense. |
* no sense. |
*/ |
*/ |
simple_unlock(&fp->f_slock); |
mutex_exit(&fp->f_lock); |
return (0); |
return (0); |
} |
} |
|
|
|
|
void *a_data; |
void *a_data; |
int a_fflag; |
int a_fflag; |
kauth_cred_t a_cred; |
kauth_cred_t a_cred; |
struct lwp *a_l; |
|
} */ *ap = v; |
} */ *ap = v; |
int error = EOPNOTSUPP; |
int error = EOPNOTSUPP; |
|
|
switch (VTOFDESC(ap->a_vp)->fd_type) { |
switch (VTOFDESC(ap->a_vp)->fd_type) { |
case Fctty: |
case Fctty: |
error = cdev_ioctl(devctty, ap->a_command, ap->a_data, |
error = cdev_ioctl(devctty, ap->a_command, ap->a_data, |
ap->a_fflag, ap->a_l); |
ap->a_fflag, curlwp); |
break; |
break; |
|
|
default: |
default: |
|
|
struct vop_poll_args /* { |
struct vop_poll_args /* { |
struct vnode *a_vp; |
struct vnode *a_vp; |
int a_events; |
int a_events; |
struct lwp *a_l; |
|
} */ *ap = v; |
} */ *ap = v; |
int revents; |
int revents; |
|
|
switch (VTOFDESC(ap->a_vp)->fd_type) { |
switch (VTOFDESC(ap->a_vp)->fd_type) { |
case Fctty: |
case Fctty: |
revents = cdev_poll(devctty, ap->a_events, ap->a_l); |
revents = cdev_poll(devctty, ap->a_events, curlwp); |
break; |
break; |
|
|
default: |
default: |
Line 974 fdesc_inactive(v) |
|
Line 970 fdesc_inactive(v) |
|
{ |
{ |
struct vop_inactive_args /* { |
struct vop_inactive_args /* { |
struct vnode *a_vp; |
struct vnode *a_vp; |
struct lwp *a_l; |
|
} */ *ap = v; |
} */ *ap = v; |
struct vnode *vp = ap->a_vp; |
struct vnode *vp = ap->a_vp; |
|
|