Commit | Line | Data |
---|---|---|
15637ed4 | 1 | /* |
584fddaa | 2 | * $Id: isofs_node.h,v 1.5 1993/07/19 13:40:05 cgd Exp $ |
15637ed4 | 3 | */ |
584fddaa JH |
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 | ||
15637ed4 RG |
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; | |
15637ed4 RG |
36 | int iso_flags; |
37 | int iso_unit_size; | |
38 | int iso_interleave_gap; | |
39 | int iso_volume_seq; | |
584fddaa JH |
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; | |
15637ed4 RG |
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 | ||
15637ed4 RG |
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 |