annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/openssl/whrlpool.h @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
rev   line source
jpayne@69 1 /*
jpayne@69 2 * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
jpayne@69 3 *
jpayne@69 4 * Licensed under the OpenSSL license (the "License"). You may not use
jpayne@69 5 * this file except in compliance with the License. You can obtain a copy
jpayne@69 6 * in the file LICENSE in the source distribution or at
jpayne@69 7 * https://www.openssl.org/source/license.html
jpayne@69 8 */
jpayne@69 9
jpayne@69 10 #ifndef HEADER_WHRLPOOL_H
jpayne@69 11 # define HEADER_WHRLPOOL_H
jpayne@69 12
jpayne@69 13 #include <openssl/opensslconf.h>
jpayne@69 14
jpayne@69 15 # ifndef OPENSSL_NO_WHIRLPOOL
jpayne@69 16 # include <openssl/e_os2.h>
jpayne@69 17 # include <stddef.h>
jpayne@69 18 # ifdef __cplusplus
jpayne@69 19 extern "C" {
jpayne@69 20 # endif
jpayne@69 21
jpayne@69 22 # define WHIRLPOOL_DIGEST_LENGTH (512/8)
jpayne@69 23 # define WHIRLPOOL_BBLOCK 512
jpayne@69 24 # define WHIRLPOOL_COUNTER (256/8)
jpayne@69 25
jpayne@69 26 typedef struct {
jpayne@69 27 union {
jpayne@69 28 unsigned char c[WHIRLPOOL_DIGEST_LENGTH];
jpayne@69 29 /* double q is here to ensure 64-bit alignment */
jpayne@69 30 double q[WHIRLPOOL_DIGEST_LENGTH / sizeof(double)];
jpayne@69 31 } H;
jpayne@69 32 unsigned char data[WHIRLPOOL_BBLOCK / 8];
jpayne@69 33 unsigned int bitoff;
jpayne@69 34 size_t bitlen[WHIRLPOOL_COUNTER / sizeof(size_t)];
jpayne@69 35 } WHIRLPOOL_CTX;
jpayne@69 36
jpayne@69 37 int WHIRLPOOL_Init(WHIRLPOOL_CTX *c);
jpayne@69 38 int WHIRLPOOL_Update(WHIRLPOOL_CTX *c, const void *inp, size_t bytes);
jpayne@69 39 void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c, const void *inp, size_t bits);
jpayne@69 40 int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c);
jpayne@69 41 unsigned char *WHIRLPOOL(const void *inp, size_t bytes, unsigned char *md);
jpayne@69 42
jpayne@69 43 # ifdef __cplusplus
jpayne@69 44 }
jpayne@69 45 # endif
jpayne@69 46 # endif
jpayne@69 47
jpayne@69 48 #endif