Commit | Line | Data |
---|---|---|
805e021f CE |
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_ */ |