|
|
1.1 ! root 1: struct iso_node { ! 2: struct iso_node *i_chain[2]; /* hash chain, MUST be first */ ! 3: struct vnode *i_vnode; /* vnode associated with this inode */ ! 4: struct vnode *i_devvp; /* vnode for block I/O */ ! 5: u_long i_flag; /* see below */ ! 6: dev_t i_dev; /* device where inode resides */ ! 7: ino_t i_number; /* the identity of the inode */ ! 8: struct iso_mnt *i_mnt; /* filesystem associated with this inode */ ! 9: struct lockf *i_lockf; /* head of byte-level lock list */ ! 10: long i_diroff; /* offset in dir, where we found last entry */ ! 11: off_t i_endoff; /* end of useful stuff in directory */ ! 12: long i_spare0; ! 13: long i_spare1; ! 14: ! 15: ! 16: int iso_reclen; ! 17: int iso_extlen; ! 18: int iso_extent; ! 19: int i_size; ! 20: unsigned char iso_time[7]; ! 21: int iso_flags; ! 22: int iso_unit_size; ! 23: int iso_interleave_gap; ! 24: int iso_volume_seq; ! 25: int iso_namelen; ! 26: }; ! 27: ! 28: #define i_forw i_chain[0] ! 29: #define i_back i_chain[1] ! 30: ! 31: /* flags */ ! 32: #define ILOCKED 0x0001 /* inode is locked */ ! 33: #define IWANT 0x0002 /* some process waiting on lock */ ! 34: #define IACC 0x0020 /* inode access time to be updated */ ! 35: ! 36: #define VTOI(vp) ((struct iso_node *)(vp)->v_data) ! 37: #define ITOV(ip) ((ip)->i_vnode) ! 38: ! 39: #define ISO_ILOCK(ip) iso_ilock(ip) ! 40: #define ISO_IUNLOCK(ip) iso_iunlock(ip) ! 41: ! 42: #define VT_ISOFS (VT_MFS+1) ! 43: ! 44: /* ! 45: * Prototypes for ISOFS vnode operations ! 46: */ ! 47: int isofs_lookup __P((struct vnode *vp, struct nameidata *ndp, struct proc *p)); ! 48: int isofs_open __P((struct vnode *vp, int mode, struct ucred *cred, ! 49: struct proc *p)); ! 50: int isofs_close __P((struct vnode *vp, int fflag, struct ucred *cred, ! 51: struct proc *p)); ! 52: int isofs_access __P((struct vnode *vp, int mode, struct ucred *cred, ! 53: struct proc *p)); ! 54: int isofs_getattr __P((struct vnode *vp, struct vattr *vap, struct ucred *cred, ! 55: struct proc *p)); ! 56: int isofs_read __P((struct vnode *vp, struct uio *uio, int ioflag, ! 57: struct ucred *cred)); ! 58: int isofs_ioctl __P((struct vnode *vp, int command, caddr_t data, int fflag, ! 59: struct ucred *cred, struct proc *p)); ! 60: int isofs_select __P((struct vnode *vp, int which, int fflags, struct ucred *cred, ! 61: struct proc *p)); ! 62: int isofs_mmap __P((struct vnode *vp, int fflags, struct ucred *cred, ! 63: struct proc *p)); ! 64: int isofs_seek __P((struct vnode *vp, off_t oldoff, off_t newoff, ! 65: struct ucred *cred)); ! 66: int isofs_readdir __P((struct vnode *vp, struct uio *uio, struct ucred *cred, ! 67: int *eofflagp)); ! 68: int isofs_abortop __P((struct nameidata *ndp)); ! 69: int isofs_inactive __P((struct vnode *vp, struct proc *p)); ! 70: int isofs_reclaim __P((struct vnode *vp)); ! 71: int isofs_lock __P((struct vnode *vp)); ! 72: int isofs_unlock __P((struct vnode *vp)); ! 73: int isofs_strategy __P((struct buf *bp)); ! 74: int isofs_print __P((struct vnode *vp)); ! 75: int isofs_islocked __P((struct vnode *vp)); ! 76:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.