backport to buster
[hcoop/debian/openafs.git] / src / vlserver / cnvldb.h
CommitLineData
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. */
11struct 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
22typedef struct vital_vlheader_1 vital_vlheader1;
23
24struct vlheader_1 {
25 vital_vlheader1 vital_header;
26 afs_uint32 IpMappedAddr[31];
27 afs_int32 VolnameHash[8191];
28 afs_int32 VolidHash[3][8191];
29};
30struct 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. */
50typedef struct vital_vlheader_1 vital_vlheader2;
51
52struct 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
60struct 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
79typedef struct vital_vlheader_1 vital_vlheader3;
80
81struct 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
90struct 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};