From 67a0e8d70f0caf8b85e0cf2031333236b2a3dcdf Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sun, 24 Jan 2016 14:46:19 +0200 Subject: Add checksum verification --- bpkg/checksum | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 bpkg/checksum (limited to 'bpkg/checksum') diff --git a/bpkg/checksum b/bpkg/checksum new file mode 100644 index 0000000..3ef35cc --- /dev/null +++ b/bpkg/checksum @@ -0,0 +1,32 @@ +// file : bpkg/checksum -*- C++ -*- +// copyright : Copyright (c) 2014-2016 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef BPKG_CHECKSUM +#define BPKG_CHECKSUM + +#include +#include + +#include + +namespace bpkg +{ + // Calculate SHA256 sum of the specified memory buffer in binary mode. Issue + // diagnostics and throw failed if anything goes wrong. + // + string + sha256 (const common_options&, const char* buf, size_t n); + + // The same but for a stream (if ifstream, open in binary mode). + // + string + sha256 (const common_options&, istream&); + + // The same but for a file. + // + string + sha256 (const common_options&, const path& file); +} + +#endif // BPKG_CHECKSUM -- cgit v1.1