iAdd functions to list supported hashes/compressors - 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 1commit 0b8ebd8c3ba33a27f9d04d031eeedf979c4a83bb /scm/dedup/commit/0b8ebd8c3ba33a27f9d04d031eeedf979c4a83bb.gph bitreich.org 70 1parent c764e111ff91c26bed375f5cf2484221d0144c78 /scm/dedup/commit/c764e111ff91c26bed375f5cf2484221d0144c78.gph bitreich.org 70 hAuthor: sin URL:mailto:sin@2f30.org bitreich.org 70 iDate: Wed, 17 Apr 2019 15:16:13 +0100 Err bitreich.org 70 i Err bitreich.org 70 iAdd functions to list supported hashes/compressors Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M compress.c | 10 ++++++++++ Err bitreich.org 70 i M dedup.c | 8 ++++++++ Err bitreich.org 70 i M dedup.h | 2 ++ Err bitreich.org 70 i M hash.c | 10 ++++++++++ Err bitreich.org 70 i Err bitreich.org 70 i4 files changed, 30 insertions(+), 0 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/compress.c b/compress.c /scm/dedup/file/compress.c.gph bitreich.org 70 i@@ -2,6 +2,7 @@ Err bitreich.org 70 i Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i+#include Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i Err bitreich.org 70 i@@ -111,3 +112,12 @@ compr_type2name(int type) Err bitreich.org 70 i return NULL; Err bitreich.org 70 i return algo->name; Err bitreich.org 70 i } Err bitreich.org 70 i+ Err bitreich.org 70 i+void Err bitreich.org 70 i+compr_list(int fd) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ struct algomap *algo; Err bitreich.org 70 i+ Err bitreich.org 70 i+ for (algo = &algomap[0]; algo->name != NULL; algo++) Err bitreich.org 70 i+ dprintf(fd, "%s\n", algo->name); Err bitreich.org 70 i+} Err bitreich.org 70 1diff --git a/dedup.c b/dedup.c /scm/dedup/file/dedup.c.gph bitreich.org 70 i@@ -594,12 +594,20 @@ main(int argc, char *argv[]) Err bitreich.org 70 i ARGBEGIN { Err bitreich.org 70 i case 'H': Err bitreich.org 70 i hash_name = EARGF(usage()); Err bitreich.org 70 i+ if (strcmp(hash_name, "?") == 0) { Err bitreich.org 70 i+ hash_list(STDERR_FILENO); Err bitreich.org 70 i+ return 0; Err bitreich.org 70 i+ } Err bitreich.org 70 i hash_algo = hash_name2type(hash_name); Err bitreich.org 70 i if (hash_algo < 0) Err bitreich.org 70 i errx(1, "unknown hash: %s", hash_name); Err bitreich.org 70 i break; Err bitreich.org 70 i case 'Z': Err bitreich.org 70 i compr_name = EARGF(usage()); Err bitreich.org 70 i+ if (strcmp(compr_name, "?") == 0) { Err bitreich.org 70 i+ compr_list(STDERR_FILENO); Err bitreich.org 70 i+ return 0; Err bitreich.org 70 i+ } Err bitreich.org 70 i compr_algo = compr_name2type(compr_name); Err bitreich.org 70 i if (compr_algo < 0) Err bitreich.org 70 i errx(1, "unknown compressor: %s", compr_name); Err bitreich.org 70 1diff --git a/dedup.h b/dedup.h /scm/dedup/file/dedup.h.gph bitreich.org 70 i@@ -145,6 +145,7 @@ size_t decompr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i int compr_final(struct compr_ctx *ctx); Err bitreich.org 70 i int compr_name2type(char *name); Err bitreich.org 70 i char *compr_type2name(int type); Err bitreich.org 70 i+void compr_list(int fd); Err bitreich.org 70 i Err bitreich.org 70 i /* hash-blake2b.c */ Err bitreich.org 70 i int blake2bi(struct hash_ctx *ctx, size_t n); Err bitreich.org 70 i@@ -172,6 +173,7 @@ int hash_update(struct hash_ctx *ctx, const void *buf, size_t n); Err bitreich.org 70 i int hash_final(struct hash_ctx *ctx, void *buf, size_t n); Err bitreich.org 70 i int hash_name2type(char *name); Err bitreich.org 70 i char *hash_type2name(int type); Err bitreich.org 70 i+void hash_list(int fd); Err bitreich.org 70 i Err bitreich.org 70 i /* icache.c */ Err bitreich.org 70 i struct icache *alloc_icache(void); Err bitreich.org 70 1diff --git a/hash.c b/hash.c /scm/dedup/file/hash.c.gph bitreich.org 70 i@@ -1,6 +1,7 @@ Err bitreich.org 70 i #include Err bitreich.org 70 i Err bitreich.org 70 i #include Err bitreich.org 70 i+#include Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i@@ -93,3 +94,12 @@ hash_type2name(int type) Err bitreich.org 70 i return NULL; Err bitreich.org 70 i return algo->name; Err bitreich.org 70 i } Err bitreich.org 70 i+ Err bitreich.org 70 i+void Err bitreich.org 70 i+hash_list(int fd) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ struct algomap *algo; Err bitreich.org 70 i+ Err bitreich.org 70 i+ for (algo = &algomap[0]; algo->name != NULL; algo++) Err bitreich.org 70 i+ dprintf(fd, "%s\n", algo->name); Err bitreich.org 70 i+} Err bitreich.org 70 .