50552829276be8e19820cdbe800c1132dbb403af
[openafs.git] / src / afs / DUX / 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 DUX servers and salvager.
12  */
13 #ifndef _OSI_INODE_H_
14 #define _OSI_INODE_H_
15
16 #define BAD_IGET        -1000
17
18 #define VICEMAGIC       0xb61cfa84
19
20 #define DI_VICEP3(p) \
21         ( ((u_int)((p)->di_vicep3a)) << 16 | ((u_int)((p)->di_vicep3b)) )
22 #define I_VICE3(p) \
23         ( ((u_int)((p)->i_vicep3a)) << 16 | ((u_int)((p)->i_vicep3b)) )
24
25 #define i_vicemagic     i_din.di_proplb
26 #define i_vicep1        i_din.di_uid
27 #define i_vicep2        i_din.di_gid
28 #define i_vicep3a       i_din.di_bcuid
29 #define i_vicep3b       i_din.di_bcgid
30 #define i_vicep4        i_din.di_spare[0]       /* not used */
31
32 #define di_vicemagic    di_proplb
33 #define di_vicep1       di_uid
34 #define di_vicep2       di_gid
35 #define di_vicep3a      di_bcuid
36 #define di_vicep3b      di_bcgid
37 #define di_vicep4       di_spare[0]     /* not used */
38
39 #define  IS_VICEMAGIC(ip)        ((ip)->i_vicemagic == VICEMAGIC)
40 #define  IS_DVICEMAGIC(dp)       ((dp)->di_vicemagic == VICEMAGIC)
41
42 #define  CLEAR_VICEMAGIC(ip)     (ip)->i_vicemagic = 0
43 #define  CLEAR_DVICEMAGIC(dp)    (dp)->di_vicemagic = 0
44
45 #endif /* _OSI_INODE_H_ */