 |
libfilezilla
|
Go to the documentation of this file. 1 #ifndef LIBFILEZILLA_UTIL_HEADER
2 #define LIBFILEZILLA_UTIL_HEADER
23 void FZ_PUBLIC_SYMBOL
sleep(duration
const& d);
29 void FZ_PUBLIC_SYMBOL
yield();
33 int64_t FZ_PUBLIC_SYMBOL
random_number(int64_t min, int64_t max);
37 std::vector<uint8_t> FZ_PUBLIC_SYMBOL
random_bytes(
size_t size);
45 uint64_t FZ_PUBLIC_SYMBOL
bitscan(uint64_t v);
60 bool FZ_PUBLIC_SYMBOL
equal_consttime(std::basic_string_view<uint8_t>
const& lhs, std::basic_string_view<uint8_t>
const& rhs);
62 template <
typename First,
typename Second,
63 std::enable_if_t<
sizeof(
typename First::value_type) ==
sizeof(uint8_t) &&
64 sizeof(
typename Second::value_type) ==
sizeof(uint8_t)>* =
nullptr>
67 return equal_consttime(std::basic_string_view<uint8_t>(
reinterpret_cast<uint8_t const*
>(lhs.data()), lhs.size()),
68 std::basic_string_view<uint8_t>(
reinterpret_cast<uint8_t const*
>(rhs.data()), rhs.size()));
bool equal_consttime(std::basic_string_view< uint8_t > const &lhs, std::basic_string_view< uint8_t > const &rhs)
Secure equality test in constant time.
void yield()
Relinquish control for a brief amount of time.
uint64_t bitscan(uint64_t v)
Returns index of the least-significant set bit.
uint64_t bitscan_reverse(uint64_t v)
Returns index of the most-significant set bit.
std::vector< uint8_t > random_bytes(size_t size)
Get random uniformly distributed bytes.
void sleep(duration const &d)
Sleep current thread for the specified duration.
int64_t random_number(int64_t min, int64_t max)
Get a secure random integer uniformly distributed in the closed interval [min, max].
Assorted classes dealing with time.
Sets some global macros and further includes string.hpp.
The namespace used by libfilezilla.
Definition: apply.hpp:17