mirror of
https://git.openafs.org/openafs.git
synced 2025-01-19 23:40:13 +00:00
56 lines
1.8 KiB
C
56 lines
1.8 KiB
C
|
|
||
|
#if !defined(lint) && !defined(LOCORE) && defined(RCS_HDRS)
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* (C) COPYRIGHT IBM CORPORATION 1987
|
||
|
* LICENSED MATERIALS - PROPERTY OF IBM
|
||
|
*/
|
||
|
/*
|
||
|
|
||
|
System: VICE-TWO
|
||
|
Module: volinodes.h
|
||
|
Institution: The Information Technology Center, Carnegie-Mellon University
|
||
|
|
||
|
*/
|
||
|
|
||
|
/* Used by vutil.c and salvager.c */
|
||
|
|
||
|
private struct VolumeHeader tempHeader;
|
||
|
|
||
|
#ifdef AFS_NAMEI_ENV
|
||
|
#define NO_LINK_TABLE 0
|
||
|
#else
|
||
|
#define NO_LINK_TABLE 1
|
||
|
#endif
|
||
|
private struct stuff {
|
||
|
struct versionStamp stamp;
|
||
|
bit32 inodeType;
|
||
|
int size; /* size of any fixed size portion of the header */
|
||
|
Inode *inode;
|
||
|
char *description;
|
||
|
/* if this is 1, then this inode is obsolete--
|
||
|
* salvager may delete it, and shouldn't complain
|
||
|
* if it isn't there; create can not bother to create it */
|
||
|
int obsolete;
|
||
|
} stuff[] = {
|
||
|
{{VOLUMEINFOMAGIC,VOLUMEINFOVERSION}, VI_VOLINFO, sizeof(VolumeDiskData),
|
||
|
&tempHeader.volumeInfo, "Volume information", 0},
|
||
|
{{SMALLINDEXMAGIC,SMALLINDEXVERSION},VI_SMALLINDEX,sizeof(struct versionStamp),
|
||
|
&tempHeader.smallVnodeIndex, "small inode index", 0},
|
||
|
{{LARGEINDEXMAGIC,LARGEINDEXVERSION},VI_LARGEINDEX,sizeof(struct versionStamp),
|
||
|
&tempHeader.largeVnodeIndex, "large inode index", 0},
|
||
|
{{ACLMAGIC,ACLVERSION},VI_ACL,sizeof(struct versionStamp),
|
||
|
&tempHeader.volumeAcl, "access control list", 1},
|
||
|
{{MOUNTMAGIC,MOUNTVERSION},VI_MOUNTTABLE,sizeof(struct versionStamp),
|
||
|
&tempHeader.volumeMountTable, "mount table", 1},
|
||
|
{{LINKTABLEMAGIC,LINKTABLEVERSION},VI_LINKTABLE,
|
||
|
sizeof(struct versionStamp),
|
||
|
&tempHeader.linkTable, "link table", NO_LINK_TABLE},
|
||
|
};
|
||
|
/* inodeType is redundant in the above table; it used to be useful, but now
|
||
|
we require the table to be ordered */
|
||
|
#define MAXINODETYPE VI_LINKTABLE
|
||
|
|
||
|
Volume *VWaitAttachVolume();
|