xref: /freebsd-src/crypto/openssl/include/openssl/ripemd.h (revision b077aed33b7b6aefca7b17ddb250cf521f938613)
1e71b7053SJung-uk Kim /*
2*b077aed3SPierre Pronchery  * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
3e71b7053SJung-uk Kim  *
4*b077aed3SPierre Pronchery  * Licensed under the Apache License 2.0 (the "License").  You may not use
5e71b7053SJung-uk Kim  * this file except in compliance with the License.  You can obtain a copy
6e71b7053SJung-uk Kim  * in the file LICENSE in the source distribution or at
7e71b7053SJung-uk Kim  * https://www.openssl.org/source/license.html
8e71b7053SJung-uk Kim  */
9e71b7053SJung-uk Kim 
10*b077aed3SPierre Pronchery #ifndef OPENSSL_RIPEMD_H
11*b077aed3SPierre Pronchery # define OPENSSL_RIPEMD_H
12*b077aed3SPierre Pronchery # pragma once
13*b077aed3SPierre Pronchery 
14*b077aed3SPierre Pronchery # include <openssl/macros.h>
15*b077aed3SPierre Pronchery # ifndef OPENSSL_NO_DEPRECATED_3_0
16e71b7053SJung-uk Kim #  define HEADER_RIPEMD_H
17*b077aed3SPierre Pronchery # endif
18e71b7053SJung-uk Kim 
19e71b7053SJung-uk Kim # include <openssl/opensslconf.h>
20e71b7053SJung-uk Kim 
21e71b7053SJung-uk Kim # ifndef OPENSSL_NO_RMD160
22e71b7053SJung-uk Kim #  include <openssl/e_os2.h>
23e71b7053SJung-uk Kim #  include <stddef.h>
24*b077aed3SPierre Pronchery 
25*b077aed3SPierre Pronchery #  define RIPEMD160_DIGEST_LENGTH 20
26*b077aed3SPierre Pronchery 
27e71b7053SJung-uk Kim #  ifdef  __cplusplus
28e71b7053SJung-uk Kim extern "C" {
29e71b7053SJung-uk Kim #  endif
30*b077aed3SPierre Pronchery #  if !defined(OPENSSL_NO_DEPRECATED_3_0)
31e71b7053SJung-uk Kim 
32e71b7053SJung-uk Kim #   define RIPEMD160_LONG unsigned int
33e71b7053SJung-uk Kim 
34e71b7053SJung-uk Kim #   define RIPEMD160_CBLOCK        64
35e71b7053SJung-uk Kim #   define RIPEMD160_LBLOCK        (RIPEMD160_CBLOCK/4)
36e71b7053SJung-uk Kim 
37e71b7053SJung-uk Kim typedef struct RIPEMD160state_st {
38e71b7053SJung-uk Kim     RIPEMD160_LONG A, B, C, D, E;
39e71b7053SJung-uk Kim     RIPEMD160_LONG Nl, Nh;
40e71b7053SJung-uk Kim     RIPEMD160_LONG data[RIPEMD160_LBLOCK];
41e71b7053SJung-uk Kim     unsigned int num;
42e71b7053SJung-uk Kim } RIPEMD160_CTX;
43*b077aed3SPierre Pronchery #  endif
44*b077aed3SPierre Pronchery #  ifndef OPENSSL_NO_DEPRECATED_3_0
45*b077aed3SPierre Pronchery OSSL_DEPRECATEDIN_3_0 int RIPEMD160_Init(RIPEMD160_CTX *c);
46*b077aed3SPierre Pronchery OSSL_DEPRECATEDIN_3_0 int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data,
47*b077aed3SPierre Pronchery                                            size_t len);
48*b077aed3SPierre Pronchery OSSL_DEPRECATEDIN_3_0 int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c);
49*b077aed3SPierre Pronchery OSSL_DEPRECATEDIN_3_0 unsigned char *RIPEMD160(const unsigned char *d, size_t n,
50*b077aed3SPierre Pronchery                                                unsigned char *md);
51*b077aed3SPierre Pronchery OSSL_DEPRECATEDIN_3_0 void RIPEMD160_Transform(RIPEMD160_CTX *c,
52*b077aed3SPierre Pronchery                                                const unsigned char *b);
53*b077aed3SPierre Pronchery #  endif
54e71b7053SJung-uk Kim 
55e71b7053SJung-uk Kim #  ifdef  __cplusplus
56e71b7053SJung-uk Kim }
57e71b7053SJung-uk Kim #  endif
58e71b7053SJung-uk Kim # endif
59e71b7053SJung-uk Kim #endif
60