Commit | Line | Data |
---|---|---|
7977dadd WJ |
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 |