File indexing completed on 2025-01-18 10:05:52
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef OPENSSL_WHRLPOOL_H
0011 # define OPENSSL_WHRLPOOL_H
0012 # pragma once
0013
0014 # include <openssl/macros.h>
0015 # ifndef OPENSSL_NO_DEPRECATED_3_0
0016 # define HEADER_WHRLPOOL_H
0017 # endif
0018
0019 # include <openssl/opensslconf.h>
0020
0021 # ifndef OPENSSL_NO_WHIRLPOOL
0022 # include <openssl/e_os2.h>
0023 # include <stddef.h>
0024 # ifdef __cplusplus
0025 extern "C" {
0026 # endif
0027
0028 # define WHIRLPOOL_DIGEST_LENGTH (512/8)
0029
0030 # if !defined(OPENSSL_NO_DEPRECATED_3_0)
0031
0032 # define WHIRLPOOL_BBLOCK 512
0033 # define WHIRLPOOL_COUNTER (256/8)
0034
0035 typedef struct {
0036 union {
0037 unsigned char c[WHIRLPOOL_DIGEST_LENGTH];
0038
0039 double q[WHIRLPOOL_DIGEST_LENGTH / sizeof(double)];
0040 } H;
0041 unsigned char data[WHIRLPOOL_BBLOCK / 8];
0042 unsigned int bitoff;
0043 size_t bitlen[WHIRLPOOL_COUNTER / sizeof(size_t)];
0044 } WHIRLPOOL_CTX;
0045 # endif
0046 # ifndef OPENSSL_NO_DEPRECATED_3_0
0047 OSSL_DEPRECATEDIN_3_0 int WHIRLPOOL_Init(WHIRLPOOL_CTX *c);
0048 OSSL_DEPRECATEDIN_3_0 int WHIRLPOOL_Update(WHIRLPOOL_CTX *c,
0049 const void *inp, size_t bytes);
0050 OSSL_DEPRECATEDIN_3_0 void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c,
0051 const void *inp, size_t bits);
0052 OSSL_DEPRECATEDIN_3_0 int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c);
0053 OSSL_DEPRECATEDIN_3_0 unsigned char *WHIRLPOOL(const void *inp, size_t bytes,
0054 unsigned char *md);
0055 # endif
0056
0057 # ifdef __cplusplus
0058 }
0059 # endif
0060 # endif
0061
0062 #endif