24#ifndef WOLF_CRYPT_MISC_H
25#define WOLF_CRYPT_MISC_H
38word32 rotlFixed(word32, word32);
40word32 rotrFixed(word32, word32);
43word32 ByteReverseWord32(word32);
45void ByteReverseWords(word32*,
const word32*, word32);
48void XorWords(wolfssl_word*,
const wolfssl_word*, word32);
50void xorbuf(
void*,
const void*, word32);
53void ForceZero(
const void*, word32);
56int ConstantCompare(
const byte*,
const byte*,
int);
58#ifdef WORD64_AVAILABLE
60word64 rotlFixed64(word64, word64);
62word64 rotrFixed64(word64, word64);
65word64 ByteReverseWord64(word64);
67void ByteReverseWords64(word64*,
const word64*, word32);
70#ifndef WOLFSSL_HAVE_MIN
71 #if defined(HAVE_FIPS) && !defined(min)
74 WOLFSSL_LOCAL word32 min(word32 a, word32 b);
77#ifndef WOLFSSL_HAVE_MAX
78 #if defined(HAVE_FIPS) && !defined(max)
81 WOLFSSL_LOCAL word32 max(word32 a, word32 b);
85void c32to24(word32 in, word24 out);
86void c16toa(word16 u16,
byte* c);
87void c32toa(word32 u32,
byte* c);
88void c24to32(
const word24 u24, word32* u32);
89void ato16(
const byte* c, word16* u16);
90void ato24(
const byte* c, word32* u24);
91void ato32(
const byte* c, word32* u32);
95WOLFSSL_LOCAL
byte ctMaskGT(
int a,
int b);
96WOLFSSL_LOCAL
byte ctMaskGTE(
int a,
int b);
97WOLFSSL_LOCAL
int ctMaskIntGTE(
int a,
int b);
98WOLFSSL_LOCAL
byte ctMaskLT(
int a,
int b);
99WOLFSSL_LOCAL
byte ctMaskLTE(
int a,
int b);
100WOLFSSL_LOCAL
byte ctMaskEq(
int a,
int b);
101WOLFSSL_LOCAL word16 ctMask16GT(
int a,
int b);
102WOLFSSL_LOCAL word16 ctMask16LT(
int a,
int b);
103WOLFSSL_LOCAL word16 ctMask16Eq(
int a,
int b);
104WOLFSSL_LOCAL
byte ctMaskNotEq(
int a,
int b);
105WOLFSSL_LOCAL
byte ctMaskSel(
byte m,
byte a,
byte b);
106WOLFSSL_LOCAL
int ctMaskSelInt(
byte m,
int a,
int b);
107WOLFSSL_LOCAL
byte ctSetLTE(
int a,
int b);