|
|
1.1.1.2 ! root 1: /* ! 2: * isofs_node.h,v 1.5 1993/07/19 13:40:05 cgd Exp ! 3: */ ! 4: ! 5: ! 6: typedef struct { ! 7: unsigned iso_cln; /* Child link */ ! 8: unsigned iso_pln; /* Parents link */ ! 9: struct timeval iso_atime; /* time of last access */ ! 10: struct timeval iso_mtime; /* time of last modification */ ! 11: struct timeval iso_ctime; /* time file changed */ ! 12: u_short iso_mode; /* files access mode and type */ ! 13: uid_t iso_uid; /* owner user id */ ! 14: gid_t iso_gid; /* owner group id */ ! 15: } ISO_RRIP_INODE; ! 16: 1.1 root 17: struct iso_node { 18: struct iso_node *i_chain[2]; /* hash chain, MUST be first */ 19: struct vnode *i_vnode; /* vnode associated with this inode */ 20: struct vnode *i_devvp; /* vnode for block I/O */ 21: u_long i_flag; /* see below */ 22: dev_t i_dev; /* device where inode resides */ 23: ino_t i_number; /* the identity of the inode */ 24: struct iso_mnt *i_mnt; /* filesystem associated with this inode */ 25: struct lockf *i_lockf; /* head of byte-level lock list */ 26: long i_diroff; /* offset in dir, where we found last entry */ 27: off_t i_endoff; /* end of useful stuff in directory */ 28: long i_spare0; 29: long i_spare1; 30: 31: 32: int iso_reclen; 33: int iso_extlen; 34: int iso_extent; 35: int i_size; 36: int iso_flags; 37: int iso_unit_size; 38: int iso_interleave_gap; 39: int iso_volume_seq; 1.1.1.2 ! root 40: int iso_namelen; /* ISO9660/RRIP name len */ ! 41: int iso_parent; /* byte offset in beginning of dir record */ ! 42: int iso_parent_ext; /* block number of dir record */ ! 43: ISO_RRIP_INODE inode; 1.1 root 44: }; 45: 46: #define i_forw i_chain[0] 47: #define i_back i_chain[1] 48: 49: /* flags */ 50: #define ILOCKED 0x0001 /* inode is locked */ 51: #define IWANT 0x0002 /* some process waiting on lock */ 52: #define IACC 0x0020 /* inode access time to be updated */ 53: 54: #define VTOI(vp) ((struct iso_node *)(vp)->v_data) 55: #define ITOV(ip) ((ip)->i_vnode) 56: 57: #define ISO_ILOCK(ip) iso_ilock(ip) 58: #define ISO_IUNLOCK(ip) iso_iunlock(ip) 59: 60: /* 61: * Prototypes for ISOFS vnode operations 62: */ 63: int isofs_lookup __P((struct vnode *vp, struct nameidata *ndp, struct proc *p)); 64: int isofs_open __P((struct vnode *vp, int mode, struct ucred *cred, 65: struct proc *p)); 66: int isofs_close __P((struct vnode *vp, int fflag, struct ucred *cred, 67: struct proc *p)); 68: int isofs_access __P((struct vnode *vp, int mode, struct ucred *cred, 69: struct proc *p)); 70: int isofs_getattr __P((struct vnode *vp, struct vattr *vap, struct ucred *cred, 71: struct proc *p)); 72: int isofs_read __P((struct vnode *vp, struct uio *uio, int ioflag, 73: struct ucred *cred)); 74: int isofs_ioctl __P((struct vnode *vp, int command, caddr_t data, int fflag, 75: struct ucred *cred, struct proc *p)); 76: int isofs_select __P((struct vnode *vp, int which, int fflags, struct ucred *cred, 77: struct proc *p)); 78: int isofs_mmap __P((struct vnode *vp, int fflags, struct ucred *cred, 79: struct proc *p)); 80: int isofs_seek __P((struct vnode *vp, off_t oldoff, off_t newoff, 81: struct ucred *cred)); 82: int isofs_readdir __P((struct vnode *vp, struct uio *uio, struct ucred *cred, 83: int *eofflagp)); 84: int isofs_abortop __P((struct nameidata *ndp)); 85: int isofs_inactive __P((struct vnode *vp, struct proc *p)); 86: int isofs_reclaim __P((struct vnode *vp)); 87: int isofs_lock __P((struct vnode *vp)); 88: int isofs_unlock __P((struct vnode *vp)); 89: int isofs_strategy __P((struct buf *bp)); 90: int isofs_print __P((struct vnode *vp)); 91: int isofs_islocked __P((struct vnode *vp)); 92:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.