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