From 184ba36366b6004ce25d81d8517eb1221bb78b1a Mon Sep 17 00:00:00 2001 From: Kirk McKusick Date: Tue, 16 Apr 1991 06:26:07 -0800 Subject: [PATCH] add prototypes for special device vnode ops SCCS-vsn: sys/miscfs/specfs/specdev.h 7.3 --- usr/src/sys/miscfs/specfs/specdev.h | 146 +++++++++++++++++++++++++++- 1 file changed, 145 insertions(+), 1 deletion(-) diff --git a/usr/src/sys/miscfs/specfs/specdev.h b/usr/src/sys/miscfs/specfs/specdev.h index 09bdbf84bf..dac088adfc 100644 --- a/usr/src/sys/miscfs/specfs/specdev.h +++ b/usr/src/sys/miscfs/specfs/specdev.h @@ -4,7 +4,7 @@ * * %sccs.include.redist.c% * - * @(#)specdev.h 7.2 (Berkeley) %G% + * @(#)specdev.h 7.3 (Berkeley) %G% */ /* @@ -42,3 +42,147 @@ struct specinfo { #endif struct vnode *speclisth[SPECHSZ]; + +/* + * Prototypes for special file operations on vnodes. + */ +int spec_badop(), + spec_ebadf(); + +int spec_lookup __P(( + struct vnode *vp, + struct nameidata *ndp, + struct proc *p)); +#define spec_create ((int (*) __P(( \ + struct nameidata *ndp, \ + struct vattr *vap, \ + struct proc *p))) spec_badop) +#define spec_mknod ((int (*) __P(( \ + struct nameidata *ndp, \ + struct vattr *vap, \ + struct ucred *cred, \ + struct proc *p))) spec_badop) +int spec_open __P(( + struct vnode *vp, + int mode, + struct ucred *cred, + struct proc *p)); +int spec_close __P(( + struct vnode *vp, + int fflag, + struct ucred *cred, + struct proc *p)); +#define spec_access ((int (*) __P(( \ + struct vnode *vp, \ + int mode, \ + struct ucred *cred, \ + struct proc *p))) spec_ebadf) +#define spec_getattr ((int (*) __P(( \ + struct vnode *vp, \ + struct vattr *vap, \ + struct ucred *cred, \ + struct proc *p))) spec_ebadf) +#define spec_setattr ((int (*) __P(( \ + struct vnode *vp, \ + struct vattr *vap, \ + struct ucred *cred, \ + struct proc *p))) spec_ebadf) +int spec_read __P(( + struct vnode *vp, + struct uio *uio, + int ioflag, + struct ucred *cred)); +int spec_write __P(( + struct vnode *vp, + struct uio *uio, + int ioflag, + struct ucred *cred)); +int spec_ioctl __P(( + struct vnode *vp, + int command, + caddr_t data, + int fflag, + struct ucred *cred, + struct proc *p)); +int spec_select __P(( + struct vnode *vp, + int which, + int fflags, + struct ucred *cred, + struct proc *p)); +#define spec_mmap ((int (*) __P(( \ + struct vnode *vp, \ + int fflags, \ + struct ucred *cred, \ + struct proc *p))) spec_badop) +#define spec_fsync ((int (*) __P(( \ + struct vnode *vp, \ + int fflags, \ + struct ucred *cred, \ + int waitfor, \ + struct proc *p))) nullop) +#define spec_seek ((int (*) __P(( \ + struct vnode *vp, \ + off_t oldoff, \ + off_t newoff, \ + struct ucred *cred))) spec_badop) +#define spec_remove ((int (*) __P(( \ + struct nameidata *ndp, \ + struct proc *p))) spec_badop) +#define spec_link ((int (*) __P(( \ + struct vnode *vp, \ + struct nameidata *ndp, \ + struct proc *p))) spec_badop) +#define spec_rename ((int (*) __P(( \ + struct nameidata *fndp, \ + struct nameidata *tdnp, \ + struct proc *p))) spec_badop) +#define spec_mkdir ((int (*) __P(( \ + struct nameidata *ndp, \ + struct vattr *vap, \ + struct proc *p))) spec_badop) +#define spec_rmdir ((int (*) __P(( \ + struct nameidata *ndp, \ + struct proc *p))) spec_badop) +#define spec_symlink ((int (*) __P(( \ + struct nameidata *ndp, \ + struct vattr *vap, \ + char *target, \ + struct proc *p))) spec_badop) +#define spec_readdir ((int (*) __P(( \ + struct vnode *vp, \ + struct uio *uio, \ + struct ucred *cred, \ + int *eofflagp))) spec_badop) +#define spec_readlink ((int (*) __P(( \ + struct vnode *vp, \ + struct uio *uio, \ + struct ucred *cred))) spec_badop) +#define spec_abortop ((int (*) __P(( \ + struct nameidata *ndp))) spec_badop) +#define spec_inactive ((int (*) __P(( \ + struct vnode *vp, \ + struct proc *p))) nullop) +#define spec_reclaim ((int (*) __P(( \ + struct vnode *vp))) nullop) +int spec_lock __P(( + struct vnode *vp)); +int spec_unlock __P(( + struct vnode *vp)); +int spec_bmap __P(( + struct vnode *vp, + daddr_t bn, + struct vnode **vpp, + daddr_t *bnp)); +int spec_strategy __P(( + struct buf *bp)); +int spec_print __P(( + struct vnode *vp)); +#define spec_islocked ((int (*) __P(( \ + struct vnode *vp))) nullop) +int spec_advlock __P(( + struct vnode *vp, + caddr_t id, + int op, + struct flock *fl, + int flags)); -- 2.20.1