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