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