reindent-20030715
[openafs.git] / src / vlserver / cnvldb.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 /* 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_int32 IpMappedAddr[31];
27     afs_int32 VolnameHash[8191];
28     afs_int32 VolidHash[3][8191];
29 };
30 struct vlentry_1 {
31     afs_int32 volumeId[3];
32     afs_int32 flags;
33     afs_int32 LockAfsId;
34     afs_int32 LockTimestamp;
35     afs_int32 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_int32 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_int32 volumeId[3];
62     afs_int32 flags;
63     afs_int32 LockAfsId;
64     afs_int32 LockTimestamp;
65     afs_int32 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_int32 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_int32 volumeId[3];
92     afs_int32 flags;
93     afs_int32 LockAfsId;
94     afs_int32 LockTimestamp;
95     afs_int32 cloneId;
96     afs_int32 nextIdHash[3];
97     afs_int32 nextNameHash;
98     char name[65];
99 #define MAXSERVERS      13
100     unsigned char serverNumber[MAXSERVERS];
101     unsigned char serverPartition[MAXSERVERS];
102     unsigned char serverFlags[MAXSERVERS];
103
104 #ifdef  obsolete_vldb_fields
105     afs_int32 spares0;          /* AssociatedChain */
106     afs_int32 spares1[0];
107     afs_int32 spares1[1];
108     char spares3;               /* volumeType */
109     char spares4;               /* RefCount */
110     char spares2[1];
111 #endif
112 };