Commit | Line | Data |
---|---|---|
805e021f CE |
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 | /* VLDB structures for VLDB version 1. */ | |
11 | struct vital_vlheader_1 { | |
12 | afs_int32 vldbversion; | |
13 | afs_int32 headersize; | |
14 | afs_int32 freePtr; | |
15 | afs_int32 eofPtr; | |
16 | afs_int32 allocs; | |
17 | afs_int32 frees; | |
18 | afs_int32 MaxVolumeId; | |
19 | afs_int32 totalEntries[3]; | |
20 | }; | |
21 | ||
22 | typedef struct vital_vlheader_1 vital_vlheader1; | |
23 | ||
24 | struct vlheader_1 { | |
25 | vital_vlheader1 vital_header; | |
26 | afs_uint32 IpMappedAddr[31]; | |
27 | afs_int32 VolnameHash[8191]; | |
28 | afs_int32 VolidHash[3][8191]; | |
29 | }; | |
30 | struct vlentry_1 { | |
31 | afs_uint32 volumeId[3]; | |
32 | afs_int32 flags; | |
33 | afs_int32 LockAfsId; | |
34 | afs_int32 LockTimestamp; | |
35 | afs_uint32 cloneId; | |
36 | afs_int32 spares0; | |
37 | afs_int32 nextIdHash[3]; | |
38 | afs_int32 nextNameHash; | |
39 | afs_int32 spares1[2]; | |
40 | char name[65]; | |
41 | char spares3; | |
42 | unsigned char serverNumber[8]; | |
43 | unsigned char serverPartition[8]; | |
44 | unsigned char serverFlags[8]; | |
45 | char spares4; | |
46 | char spares2[1]; | |
47 | }; | |
48 | ||
49 | /* VLDB structures for VLDB version 2. */ | |
50 | typedef struct vital_vlheader_1 vital_vlheader2; | |
51 | ||
52 | struct vlheader_2 { | |
53 | vital_vlheader2 vital_header; | |
54 | afs_uint32 IpMappedAddr[255]; /* == 0..254 */ | |
55 | afs_int32 VolnameHash[8191]; | |
56 | afs_int32 VolidHash[3][8191]; | |
57 | afs_int32 SIT; | |
58 | }; | |
59 | ||
60 | struct vlentry_2 { | |
61 | afs_uint32 volumeId[3]; | |
62 | afs_int32 flags; | |
63 | afs_int32 LockAfsId; | |
64 | afs_int32 LockTimestamp; | |
65 | afs_uint32 cloneId; | |
66 | afs_int32 spares0; | |
67 | afs_int32 nextIdHash[3]; | |
68 | afs_int32 nextNameHash; | |
69 | afs_int32 spares1[2]; | |
70 | char name[65]; | |
71 | char spares3; | |
72 | unsigned char serverNumber[8]; | |
73 | unsigned char serverPartition[8]; | |
74 | unsigned char serverFlags[8]; | |
75 | char spares4; | |
76 | char spares2[1]; | |
77 | }; | |
78 | ||
79 | typedef struct vital_vlheader_1 vital_vlheader3; | |
80 | ||
81 | struct vlheader_3 { | |
82 | vital_vlheader3 vital_header; | |
83 | afs_uint32 IpMappedAddr[255]; /* == 0..254 */ | |
84 | afs_int32 VolnameHash[8191]; | |
85 | afs_int32 VolidHash[3][8191]; | |
86 | afs_int32 SIT; | |
87 | }; | |
88 | ||
89 | ||
90 | struct vlentry_3 { | |
91 | afs_uint32 volumeId[3]; | |
92 | afs_int32 flags; | |
93 | afs_int32 LockAfsId; | |
94 | afs_int32 LockTimestamp; | |
95 | afs_uint32 cloneId; | |
96 | afs_int32 nextIdHash[3]; | |
97 | afs_int32 nextNameHash; | |
98 | char name[65]; | |
99 | unsigned char serverNumber[MAXSERVERS]; | |
100 | unsigned char serverPartition[MAXSERVERS]; | |
101 | unsigned char serverFlags[MAXSERVERS]; | |
102 | ||
103 | #ifdef obsolete_vldb_fields | |
104 | afs_int32 spares0; /* AssociatedChain */ | |
105 | afs_int32 spares1[0]; | |
106 | afs_int32 spares1[1]; | |
107 | char spares3; /* volumeType */ | |
108 | char spares4; /* RefCount */ | |
109 | char spares2[1]; | |
110 | #endif | |
111 | }; |