md4.h (1692B)
1 /* md4.h 2 * 3 * Copyright (C) 2006-2025 wolfSSL Inc. 4 * 5 * This file is part of wolfSSL. 6 * 7 * wolfSSL is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * wolfSSL is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA 20 */ 21 22 23 #ifndef WOLFSSL_MD4_H_ 24 #define WOLFSSL_MD4_H_ 25 26 #include <wolfssl/wolfcrypt/settings.h> 27 28 #ifndef NO_MD4 29 30 #ifdef WOLFSSL_PREFIX 31 #include "prefix_md4.h" 32 #endif 33 34 #ifdef __cplusplus 35 extern "C" { 36 #endif 37 38 39 typedef struct WOLFSSL_MD4_CTX { 40 int buffer[32]; /* big enough to hold, check size in Init */ 41 } WOLFSSL_MD4_CTX; 42 43 44 WOLFSSL_API void wolfSSL_MD4_Init(WOLFSSL_MD4_CTX* md4); 45 WOLFSSL_API void wolfSSL_MD4_Update(WOLFSSL_MD4_CTX* md4, const void* data, 46 unsigned long len); 47 WOLFSSL_API void wolfSSL_MD4_Final(unsigned char* digest, WOLFSSL_MD4_CTX* md4); 48 49 #ifndef OPENSSL_COEXIST 50 51 typedef WOLFSSL_MD4_CTX MD4_CTX; 52 53 #define MD4_Init wolfSSL_MD4_Init 54 #define MD4_Update wolfSSL_MD4_Update 55 #define MD4_Final wolfSSL_MD4_Final 56 57 #endif /* !OPENSSL_COEXIST */ 58 59 #ifdef __cplusplus 60 } /* extern "C" */ 61 #endif 62 63 #endif /* NO_MD4 */ 64 65 #endif /* WOLFSSL_MD4_H_ */ 66