00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef MBEDTLS_RIPEMD160_H
00025 #define MBEDTLS_RIPEMD160_H
00026
00027 #if !defined(MBEDTLS_CONFIG_FILE)
00028 #include "config.h"
00029 #else
00030 #include MBEDTLS_CONFIG_FILE
00031 #endif
00032
00033 #include <stddef.h>
00034 #include <stdint.h>
00035
00036 #define MBEDTLS_ERR_RIPEMD160_HW_ACCEL_FAILED -0x0031
00038 #if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \
00039 !defined(inline) && !defined(__cplusplus)
00040 #define inline __inline
00041 #endif
00042
00043 #if !defined(MBEDTLS_RIPEMD160_ALT)
00044
00045
00046
00047 #ifdef __cplusplus
00048 extern "C" {
00049 #endif
00050
00054 typedef struct
00055 {
00056 uint32_t total[2];
00057 uint32_t state[5];
00058 unsigned char buffer[64];
00059 }
00060 mbedtls_ripemd160_context;
00061
00067 void mbedtls_ripemd160_init( mbedtls_ripemd160_context *ctx );
00068
00074 void mbedtls_ripemd160_free( mbedtls_ripemd160_context *ctx );
00075
00082 void mbedtls_ripemd160_clone( mbedtls_ripemd160_context *dst,
00083 const mbedtls_ripemd160_context *src );
00084
00092 int mbedtls_ripemd160_starts_ret( mbedtls_ripemd160_context *ctx );
00093
00103 int mbedtls_ripemd160_update_ret( mbedtls_ripemd160_context *ctx,
00104 const unsigned char *input,
00105 size_t ilen );
00106
00115 int mbedtls_ripemd160_finish_ret( mbedtls_ripemd160_context *ctx,
00116 unsigned char output[20] );
00117
00126 int mbedtls_internal_ripemd160_process( mbedtls_ripemd160_context *ctx,
00127 const unsigned char data[64] );
00128
00129 #if !defined(MBEDTLS_DEPRECATED_REMOVED)
00130 #if defined(MBEDTLS_DEPRECATED_WARNING)
00131 #define MBEDTLS_DEPRECATED __attribute__((deprecated))
00132 #else
00133 #define MBEDTLS_DEPRECATED
00134 #endif
00135
00142 MBEDTLS_DEPRECATED static inline void mbedtls_ripemd160_starts(
00143 mbedtls_ripemd160_context *ctx )
00144 {
00145 mbedtls_ripemd160_starts_ret( ctx );
00146 }
00147
00157 MBEDTLS_DEPRECATED static inline void mbedtls_ripemd160_update(
00158 mbedtls_ripemd160_context *ctx,
00159 const unsigned char *input,
00160 size_t ilen )
00161 {
00162 mbedtls_ripemd160_update_ret( ctx, input, ilen );
00163 }
00164
00173 MBEDTLS_DEPRECATED static inline void mbedtls_ripemd160_finish(
00174 mbedtls_ripemd160_context *ctx,
00175 unsigned char output[20] )
00176 {
00177 mbedtls_ripemd160_finish_ret( ctx, output );
00178 }
00179
00188 MBEDTLS_DEPRECATED static inline void mbedtls_ripemd160_process(
00189 mbedtls_ripemd160_context *ctx,
00190 const unsigned char data[64] )
00191 {
00192 mbedtls_internal_ripemd160_process( ctx, data );
00193 }
00194
00195 #undef MBEDTLS_DEPRECATED
00196 #endif
00197
00198 #ifdef __cplusplus
00199 }
00200 #endif
00201
00202 #else
00203 #include "ripemd160_alt.h"
00204 #endif
00205
00206 #ifdef __cplusplus
00207 extern "C" {
00208 #endif
00209
00219 int mbedtls_ripemd160_ret( const unsigned char *input,
00220 size_t ilen,
00221 unsigned char output[20] );
00222
00223 #if !defined(MBEDTLS_DEPRECATED_REMOVED)
00224 #if defined(MBEDTLS_DEPRECATED_WARNING)
00225 #define MBEDTLS_DEPRECATED __attribute__((deprecated))
00226 #else
00227 #define MBEDTLS_DEPRECATED
00228 #endif
00229
00238 MBEDTLS_DEPRECATED static inline void mbedtls_ripemd160(
00239 const unsigned char *input,
00240 size_t ilen,
00241 unsigned char output[20] )
00242 {
00243 mbedtls_ripemd160_ret( input, ilen, output );
00244 }
00245
00246 #undef MBEDTLS_DEPRECATED
00247 #endif
00248
00254 int mbedtls_ripemd160_self_test( int verbose );
00255
00256 #ifdef __cplusplus
00257 }
00258 #endif
00259
00260 #endif