xref: /netbsd-src/sys/external/isc/libsodium/include/utils.h (revision 627f7eb200a4419d89b531d55fccd2ee3ffdcde0)
1 #ifndef __SODIUM_UTILS_H__
2 #define __SODIUM_UTILS_H__
3 
4 /* This overwrites dist/src/libsodium/include/sodium/utils.h */
5 
6 #define SODIUM_C99(X) X
7 
8 static inline void
9 sodium_memzero(void *const pnt, const size_t len)
10 {
11 
12 	explicit_memset(pnt, 0, len);
13 }
14 
15 /* Just copied from dist/src/libsodium/sodium/utils.c */
16 static inline int
17 sodium_is_zero(const unsigned char *n, const size_t nlen)
18 {
19     size_t                 i;
20     volatile unsigned char d = 0U;
21 
22     for (i = 0U; i < nlen; i++) {
23         d |= n[i];
24     }
25     return 1 & ((d - 1) >> 8);
26 }
27 #endif /* __SODIUM_UTILS_H__ */
28