Coda Distributed File System
vvlist.h
Go to the documentation of this file.
1/* BLURB gpl
2
3 Coda File System
4 Release 6
5
6 Copyright (c) 1987-2003 Carnegie Mellon University
7 Additional copyrights listed below
8
9This code is distributed "AS IS" without warranty of any kind under
10the terms of the GNU General Public Licence Version 2, as shown in the
11file LICENSE. The technical and financial contributors to Coda are
12listed in the file CREDITS.
13
14 Additional copyrights
15 none currently
16
17#*/
18
19#ifndef _VVLIST_H_
20#define _VVLIST_H_ 1
21
22#include <vcrcommon.h>
23#include <cvnode.h>
24
25typedef struct vventry {
26 int isThere; /* We have seen an existing vnode for this entry */
27 long unique;
28 ViceStoreId StoreId;
29 struct vventry *next;
30 unsigned int dumplevel; /* dumplevel at which this vnode was last dumped */
32
33#define ENDLARGEINDEX "End of the Large Vnode List.\n"
34#define LISTLINESIZE 160
35
36class vvtable {
37 friend class vvent_iterator;
38 vvent **vvlist;
39 int nlists;
40
41public:
42 vvtable(FILE *Ancient, VnodeClass vclass, int listsize);
43 ~vvtable();
44 int IsModified(int vnodeNumber, long unique, ViceStoreId *StoreId,
45 unsigned int current_dumplevel,
46 unsigned int *last_dumplevel);
47};
48
49// Iterate through 1 list! Just one!
51 vvent *cvvent; // current olist
52
53public:
54 vvent_iterator(vvtable &, int);
55 vvent *operator()(); // return next object or 0
56};
57
58extern int ValidListVVHeader(FILE *, Volume *, int *);
59extern void DumpListVVHeader(int, Volume *vp, unsigned int dumplevel, int);
60extern void ListVV(int fd, int vnode, VnodeDiskObject *vnp,
61 unsigned int dumplevel);
62extern void getlistfilename(char *, VolumeId, VolumeId, const char *);
63
64#endif /* _VVLIST_H_ */
Definition: vvlist.h:50
vvent_iterator(vvtable &, int)
Definition: vvlist.cc:261
vvent * operator()()
Definition: vvlist.cc:269
Definition: vvlist.h:36
~vvtable()
Definition: vvlist.cc:202
int IsModified(int vnodeNumber, long unique, ViceStoreId *StoreId, unsigned int current_dumplevel, unsigned int *last_dumplevel)
Definition: vvlist.cc:214
vvtable(FILE *Ancient, VnodeClass vclass, int listsize)
Definition: vvlist.cc:142
int VnodeClass
Definition: cvnode.h:67
Definition: cvnode.h:98
Definition: volume.h:234
Definition: vvlist.h:25
struct vventry * next
Definition: vvlist.h:29
ViceStoreId StoreId
Definition: vvlist.h:28
int isThere
Definition: vvlist.h:26
unsigned int dumplevel
Definition: vvlist.h:30
long unique
Definition: vvlist.h:27
struct vventry vvent
int ValidListVVHeader(FILE *, Volume *, int *)
Definition: vvlist.cc:74
void ListVV(int fd, int vnode, VnodeDiskObject *vnp, unsigned int dumplevel)
Definition: vvlist.cc:121
void getlistfilename(char *, VolumeId, VolumeId, const char *)
Definition: vvlist.cc:58
void DumpListVVHeader(int, Volume *vp, unsigned int dumplevel, int)
Definition: vvlist.cc:92