Import Upstream version 1.8.5
[hcoop/debian/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_ */