Plan 9 from Bell Labs’s /usr/web/sources/contrib/quanstro/root/sys/src/cmd/replica/all.h

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


#include <u.h>
#include <libc.h>
#include <bio.h>
#include <disk.h>

/* avl.c */
typedef struct Avl 	Avl;
typedef struct Avltree 	Avltree;
typedef struct Avlwalk 	Avlwalk;

#pragma incomplete Avltree
#pragma incomplete Avlwalk

struct Avl
{
	Avl 	*p;	/* parent */
	Avl 	*n[2];	/* children */
	int 	bal;	/* balance bits */
};

Avltree	*mkavltree(int(*cmp)(Avl*, Avl*));
void 	insertavl(Avltree *tree, Avl *new, Avl **oldp); 
Avl 	*lookupavl(Avltree *tree, Avl *key);
void 	deleteavl(Avltree *tree, Avl *key, Avl **oldp);
Avlwalk 	*avlwalk(Avltree *tree);
Avl	*avlnext(Avlwalk *walk);
Avl	*avlprev(Avlwalk *walk);
void 	endwalk(Avlwalk *walk);

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

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*);


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.