diff options
author | Mattias Andrée <maandree@operamail.com> | 2014-11-13 05:56:33 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2014-11-13 05:56:47 +0100 |
commit | 1f523501d87271cfb77ffe66f558ba343c9bc615 (patch) | |
tree | b7ead382781044c7540f5481afbe70ab5986f633 /src/common.h | |
parent | nuke... (diff) | |
download | sha3sum-1f523501d87271cfb77ffe66f558ba343c9bc615.tar.gz sha3sum-1f523501d87271cfb77ffe66f558ba343c9bc615.tar.bz2 sha3sum-1f523501d87271cfb77ffe66f558ba343c9bc615.tar.xz |
...and pave
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to 'src/common.h')
-rw-r--r-- | src/common.h | 63 |
1 files changed, 63 insertions, 0 deletions
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 <http://www.gnu.org/licenses/>. + */ +#ifndef SHA3SUM_COMMON_H +#define SHA3SUM_COMMON_H 1 + + +#include <libkeccak.h> + + + +/** + * 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 + |