irix kill efs and start pruning pre-65
[openafs.git] / src / afs / IRIX / osi_inode.h
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  * 
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9
10 /*
11  * Inode information required for IRIX servers and salvager.
12  */
13 #ifndef _OSI_INODE_H_
14 #define _OSI_INODE_H_
15
16 #define BAD_IGET        -1000
17
18 /* chown can't set the high bit - used for XFS based filesystem */
19 #define XFS_VICEMAGIC   0x74fa1cb6
20
21 /* These exist because HP requires more work to extract uid. */
22 #define DI_VICEP3(p)    ( (p)->di_vicep3 )
23 #define I_VICE3(p)      ( (p)->i_vicep3 )
24
25
26 /*
27  * We use the 12 8-bit unused ex_magic fields!
28  * Plus 2 values of di_version
29  * di_version = 0 - current EFS
30  *          1 - AFS INODESPECIAL
31  *          2 - AFS inode
32  * AFS inode:
33  * magic[0-3] - VOLid
34  * magic[4-6] - vnode number (24 bits)
35  * magic[7-9] - disk uniqifier
36  * magic[10-11]+di_spare - data version
37  *
38  * INODESPECIAL:
39  * magic[0-3] - VOLid
40  * magic[4-7] - parent
41  * magic[8]   - type
42  */
43 #define SGI_UNIQMASK    0xffffff
44 #define SGI_DATAMASK     0xffffff
45 #define SGI_DISKMASK     0xffffff
46
47 /* we hang this struct off of the incore inode */
48 struct afsparms {
49     afs_int32 vicep1;
50     afs_int32 vicep2;
51     afs_int32 vicep3;
52     afs_int32 vicep4;
53 };
54
55 #define dmag(p,n)        ((p)->di_u.di_extents[n].ex_magic)
56
57 #endif /* _OSI_INODE_H_ */