openafs/src/vol/viceinode.h
R. Lindsay Todd 08db75c196 large-file-support-20030808
FIXES 1493

large file support in the fileserver, again
2003-08-08 21:40:42 +00:00

73 lines
1.9 KiB
C

/*
* Copyright 2000, International Business Machines Corporation and others.
* All Rights Reserved.
*
* This software has been released under the terms of the IBM Public
* License. For details, see the LICENSE file in the top-level source
* directory or online at http://www.openafs.org/dl/license10.html
*/
/*
System: VICE-TWO
Module: viceinode.h
Institution: The Information Technology Center, Carnegie-Mellon University
*/
#ifndef _VICEINODE_H_
#define _VICEINODE_H_
/* The four inode parameters for most inodes (files, directories,
symbolic links) */
struct InodeParams {
VolId volumeId;
VnodeId vnodeNumber;
Unique vnodeUniquifier;
FileVersion inodeDataVersion;
};
/* The four inode parameters for special inodes, i.e. the descriptive
inodes for a volume */
struct SpecialInodeParams {
VolId volumeId;
VnodeId vnodeNumber; /* this must be INODESPECIAL */
#ifdef AFS_3DISPARES
VolId parentId;
int type;
#else
int type;
VolId parentId;
#endif
};
/* Structure of individual records output by fsck.
When VICEMAGIC inodes are created, they are given four parameters;
these correspond to the params.fsck array of this record.
*/
struct ViceInodeInfo {
Inode inodeNumber;
afs_fsize_t byteCount;
int linkCount;
union {
bit32 param[4];
struct InodeParams vnode;
struct SpecialInodeParams special;
} u;
};
#ifdef AFS_3DISPARES
#define INODESPECIAL 0x1fffffff
#else
#define INODESPECIAL 0xffffffff
#endif
/* Special inode types. Be careful of the ordering. Must start at 1.
See vutil.h */
#define VI_VOLINFO 1 /* The basic volume information file */
#define VI_SMALLINDEX 2 /* The index of small vnodes */
#define VI_LARGEINDEX 3 /* The index of large vnodes */
#define VI_ACL 4 /* The volume's access control list */
#define VI_MOUNTTABLE 5 /* The volume's mount table */
#define VI_LINKTABLE 6 /* The volume's link counts */
#endif /* _VICEINODE_H_ */