aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/vbackup/queue.h
diff options
context:
space:
mode:
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);