summaryrefslogtreecommitdiff
path: root/sys/src/cmd/replica/all.h
blob: 5e8148de4f8dbc04cf4f4e785651c52398d0ae9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <u.h>
#include <libc.h>
#include <bio.h>
#include <disk.h>
#include <avl.h>

/* db.c */
typedef struct Db Db;
typedef struct Entry Entry;
struct Entry
{
	Avl;
	char *name;
	struct {
		char *name;
		char *uid;
		char *gid;
		ulong mtime;
		ulong mode;
		int mark;
		vlong length;
	} d;
};


typedef struct Db Db;
struct Db
{
	Avltree *avl;
	int fd;
};
Db *opendb(char*);
int finddb(Db*, char*, Dir*);
void removedb(Db*, char*);
void insertdb(Db*, char*, Dir*);
int markdb(Db*, char*, Dir*);

/* util.c */
void *erealloc(void*, int);
void *emalloc(int);
char *estrdup(char*);
char *atom(char*);
char *unroot(char*, char*);

/* revproto.c */
int revrdproto(char*, char*, char*, Protoenum*, Protowarn*, void*);