OpenAFS
OpenAFS distributed network file system
/cygdrive/c/src/openafs/openafs.git/repo/src/afs/IRIX/osi_inode.h
00001 /*
00002  * Copyright 2000, International Business Machines Corporation and others.
00003  * All Rights Reserved.
00004  *
00005  * This software has been released under the terms of the IBM Public
00006  * License.  For details, see the LICENSE file in the top-level source
00007  * directory or online at http://www.openafs.org/dl/license10.html
00008  */
00009 
00010 /*
00011  * Inode information required for IRIX servers and salvager.
00012  */
00013 #ifndef _OSI_INODE_H_
00014 #define _OSI_INODE_H_
00015 
00016 #define BAD_IGET        -1000
00017 
00018 /* chown can't set the high bit - used for XFS based filesystem */
00019 #define XFS_VICEMAGIC   0x74fa1cb6
00020 
00021 /* These exist because HP requires more work to extract uid. */
00022 #define DI_VICEP3(p)    ( (p)->di_vicep3 )
00023 #define I_VICE3(p)      ( (p)->i_vicep3 )
00024 
00025 
00026 /*
00027  * We use the 12 8-bit unused ex_magic fields!
00028  * Plus 2 values of di_version
00029  * di_version = 0 - current EFS
00030  *          1 - AFS INODESPECIAL
00031  *          2 - AFS inode
00032  * AFS inode:
00033  * magic[0-3] - VOLid
00034  * magic[4-6] - vnode number (24 bits)
00035  * magic[7-9] - disk uniqifier
00036  * magic[10-11]+di_spare - data version
00037  *
00038  * INODESPECIAL:
00039  * magic[0-3] - VOLid
00040  * magic[4-7] - parent
00041  * magic[8]   - type
00042  */
00043 #define SGI_UNIQMASK    0xffffff
00044 #define SGI_DATAMASK     0xffffff
00045 #define SGI_DISKMASK     0xffffff
00046 
00047 /* we hang this struct off of the incore inode */
00048 struct afsparms {
00049     afs_int32 vicep1;
00050     afs_int32 vicep2;
00051     afs_int32 vicep3;
00052     afs_int32 vicep4;
00053 };
00054 
00055 #define dmag(p,n)        ((p)->di_u.di_extents[n].ex_magic)
00056 
00057 #endif /* _OSI_INODE_H_ */
 All Data Structures Files Functions Variables