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