1 /* 2 * This file is part of the openHiTLS project. 3 * 4 * openHiTLS is licensed under the Mulan PSL v2. 5 * You can use this software according to the terms and conditions of the Mulan PSL v2. 6 * You may obtain a copy of Mulan PSL v2 at: 7 * 8 * http://license.coscl.org.cn/MulanPSL2 9 * 10 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, 11 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, 12 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. 13 * See the Mulan PSL v2 for more details. 14 */ 15 16 #ifndef SHA2_CORE_H 17 #define SHA2_CORE_H 18 #include <stdint.h> 19 #include "hitls_build.h" 20 21 #ifdef __cplusplus 22 extern "C" { 23 #endif 24 25 #ifndef U64 26 #define U64(v) (uint64_t)(v) 27 #endif 28 29 #ifdef HITLS_CRYPTO_SHA256 30 void SHA256CompressMultiBlocks(uint32_t hash[8], const uint8_t *in, uint32_t num); 31 #endif 32 33 #ifdef HITLS_CRYPTO_SHA512 34 void SHA512CompressMultiBlocks(uint64_t hash[8], const uint8_t *bl, uint32_t bcnt); 35 #endif 36 37 #ifdef __cplusplus 38 } 39 #endif 40 41 #endif // SHA2_CORE_H 42