block.h - dedup - deduplicating backup program
HTML git clone git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/
DIR Log
DIR Files
DIR Refs
DIR Tags
DIR README
DIR LICENSE
---
block.h (1308B)
---
1 enum {
2 B_READ = 1 << 0,
3 B_RDWR = 1 << 1,
4 };
5
6 struct bctx {
7 void *gctx; /* generic layer context (unused) */
8 void *cctx; /* compression layer context */
9 void *ectx; /* encryption layer context */
10 void *sctx; /* storage layer context */
11 };
12
13 /*
14 * Block operations structure.
15 * This is implemented by each of the block layers.
16 */
17 struct bops {
18 int (*creat)(struct bctx *, char *, int);
19 int (*open)(struct bctx *, char *, int, int);
20 int (*put)(struct bctx *, void *, size_t, unsigned char *);
21 int (*get)(struct bctx *, unsigned char *, void *, size_t *);
22 int (*rm)(struct bctx *, unsigned char *);
23 int (*gc)(struct bctx *);
24 int (*sync)(struct bctx *);
25 int (*close)(struct bctx *);
26 };
27
28 /* block.c */
29 extern int bcreat(char *, int, struct bctx **);
30 extern int bopen(char *, int, int, struct bctx **);
31 extern int bput(struct bctx *, void *, size_t, unsigned char *);
32 extern int bget(struct bctx *, unsigned char *, void *, size_t *);
33 extern int brm(struct bctx *, unsigned char *);
34 extern int bgc(struct bctx *);
35 extern int bcheck(struct bctx *, unsigned char *);
36 extern int bsync(struct bctx *);
37 extern int bclose(struct bctx *);
38
39 /* bcompress.c */
40 extern struct bops *bcompressops(void);
41
42 /* bencrypt.c */
43 struct bops *bencryptops(void);
44
45 /* bstorage.c */
46 extern struct bops *bstorageops(void);