summaryrefslogtreecommitdiffstats
path: root/src/cmd/vbackup/queue.h
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-07-13 03:49:41 +0000
committerrsc <devnull@localhost>2005-07-13 03:49:41 +0000
commit004aa293f360ea0f63ec50f5042f8c0fb2831e4f (patch)
treed44b801b47c82861d68d4045acf0bf7129ce6009 /src/cmd/vbackup/queue.h
parent0c98da8bf8ea51d0288222f6c6ba3c125cf20f46 (diff)
downloadplan9port-004aa293f360ea0f63ec50f5042f8c0fb2831e4f.tar.gz
plan9port-004aa293f360ea0f63ec50f5042f8c0fb2831e4f.zip
Dump-like file system backup for Unix, built on Venti.
Diffstat (limited to 'src/cmd/vbackup/queue.h')
-rw-r--r--src/cmd/vbackup/queue.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/cmd/vbackup/queue.h b/src/cmd/vbackup/queue.h
new file mode 100644
index 00000000..053346ad
--- /dev/null
+++ b/src/cmd/vbackup/queue.h
@@ -0,0 +1,22 @@
+enum
+{
+ MAXQ = 256,
+};
+
+typedef struct Queue Queue;
+struct Queue
+{
+ struct {
+ Block *db;
+ u32int bno;
+ } el[MAXQ];
+ int ri, wi, nel, closed;
+
+ QLock lk;
+ Rendez r;
+};
+
+Queue *qalloc(void);
+void qclose(Queue*);
+Block *qread(Queue*, u32int*);
+void qwrite(Queue*, Block*, u32int);