From 1f523501d87271cfb77ffe66f558ba343c9bc615 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Thu, 13 Nov 2014 05:56:33 +0100 Subject: ...and pave MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/common.h | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/common.h (limited to 'src/common.h') diff --git a/src/common.h b/src/common.h new file mode 100644 index 0000000..36582a8 --- /dev/null +++ b/src/common.h @@ -0,0 +1,63 @@ +/** + * sha3sum – SHA-3 (Keccak) checksum calculator + * + * Copyright © 2013, 2014 Mattias Andrée (maandree@member.fsf.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +#ifndef SHA3SUM_COMMON_H +#define SHA3SUM_COMMON_H 1 + + +#include + + + +/** + * Print the checksum in binary + */ +#define REPRESENTATION_BINARY 0 + +/** + * Print the checksum in upper case hexadecimal + */ +#define REPRESENTATION_UPPER_CASE 1 + +/** + * Print the checksum in lower case hexadecimal + */ +#define REPRESENTATION_LOWER_CASE 2 + + + +/** + * Print the checksum of a file + * + * @param filename The file to hash + * @param gspec Hashing parameters + * @param squeezes The number of squeezes to perform + * @param suffix The message suffix + * @param representation Either of `REPRESENTATION_BINARY`, `REPRESENTATION_UPPER_CASE` + * and `REPRESENTATION_LOWER_CASE` + * @param verbose Whether to print the hashing parameters + * @param execname `argv[0]` from `main` + * @return Zero on succes, an appropriate exit value on error + */ +int print_checksum(const char* restrict filename, libkeccak_generalised_spec_t* restrict gspec, + long squeezes, const char* restrict suffix, int representation, int verbose, + const char* restrict execname); + + +#endif + -- cgit v1.2.3-70-g09d2