API参考
载入中...
搜索中...
未找到
hash_local.h
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 HASH_LOCAL_H
17#define HASH_LOCAL_H
18
19#include "hitls_build.h"
20#ifdef HITLS_BSL_HASH
21
22#include <stdint.h>
23#include <stdbool.h>
24#include <stdio.h>
25
26#ifdef __cplusplus
27extern "C" {
28#endif /* __cpluscplus */
29
30typedef struct {
31 uintptr_t inputData; /* Actual data input by the user. */
32 uint32_t dataSize; /* Actual input size */
33} BSL_CstlUserData;
34
35/* Check whether overflow occurs when two numbers are multiplied in the current system. */
36bool IsMultiOverflow(uint32_t x, uint32_t y);
37
38/* Check whether the sum of the two numbers overflows in the current system. */
39bool IsAddOverflow(uint32_t x, uint32_t y);
40
41#ifdef __cplusplus
42}
43#endif
44
45#endif /* HITLS_BSL_HASH */
46
47#endif /* HASH_LOCAL_H */