Changeset View
Changeset View
Standalone View
Standalone View
sys/fs/fifofs/fifo_vnops.c
Show First 20 Lines • Show All 67 Lines • ▼ Show 20 Lines | struct fifoinfo { | ||||
long fi_writers; | long fi_writers; | ||||
u_int fi_rgen; | u_int fi_rgen; | ||||
u_int fi_wgen; | u_int fi_wgen; | ||||
}; | }; | ||||
static vop_print_t fifo_print; | static vop_print_t fifo_print; | ||||
static vop_open_t fifo_open; | static vop_open_t fifo_open; | ||||
static vop_close_t fifo_close; | static vop_close_t fifo_close; | ||||
static vop_advlock_t fifo_advlock; | |||||
struct vop_vector fifo_specops = { | struct vop_vector fifo_specops = { | ||||
.vop_default = &default_vnodeops, | .vop_default = &default_vnodeops, | ||||
.vop_advlock = fifo_advlock, | |||||
.vop_close = fifo_close, | .vop_close = fifo_close, | ||||
.vop_create = VOP_PANIC, | .vop_create = VOP_PANIC, | ||||
.vop_getattr = VOP_EBADF, | .vop_getattr = VOP_EBADF, | ||||
.vop_ioctl = VOP_PANIC, | .vop_ioctl = VOP_PANIC, | ||||
.vop_kqfilter = VOP_PANIC, | .vop_kqfilter = VOP_PANIC, | ||||
.vop_link = VOP_PANIC, | .vop_link = VOP_PANIC, | ||||
.vop_mkdir = VOP_PANIC, | .vop_mkdir = VOP_PANIC, | ||||
.vop_mknod = VOP_PANIC, | .vop_mknod = VOP_PANIC, | ||||
▲ Show 20 Lines • Show All 247 Lines • ▼ Show 20 Lines | struct vop_print_args /* { | ||||
struct vnode *a_vp; | struct vnode *a_vp; | ||||
} */ *ap; | } */ *ap; | ||||
{ | { | ||||
printf(" "); | printf(" "); | ||||
fifo_printinfo(ap->a_vp); | fifo_printinfo(ap->a_vp); | ||||
printf("\n"); | printf("\n"); | ||||
return (0); | return (0); | ||||
} | } | ||||
/* | |||||
* Fifo advisory byte-level locks. | |||||
*/ | |||||
/* ARGSUSED */ | |||||
static int | |||||
fifo_advlock(ap) | |||||
struct vop_advlock_args /* { | |||||
struct vnode *a_vp; | |||||
caddr_t a_id; | |||||
int a_op; | |||||
struct flock *a_fl; | |||||
int a_flags; | |||||
} */ *ap; | |||||
{ | |||||
return (ap->a_flags & F_FLOCK ? EOPNOTSUPP : EINVAL); | |||||
} | |||||