// util/crypt.h, version 0.1.2 // Crypt header file from libutil // Copyright (C) 2021, Jakob Wakeling // MIT Licence #ifndef UTIL_CRYPT_H_RDY6J5JV #define UTIL_CRYPT_H_RDY6J5JV #ifdef __cplusplus extern "C" { #endif #include /* Circular shift left */ #define ROL8(x, n) (uint8_t)(((x) << (n)) | ((x) >> (8 - (n)))) #define ROL16(x, n) (uint16_t)(((x) << (n)) | ((x) >> (16 - (n)))) #define ROL32(x, n) (uint32_t)(((x) << (n)) | ((x) >> (32 - (n)))) #define ROL64(x, n) (uint64_t)(((x) << (n)) | ((x) >> (64 - (n)))) /* Circular shift right */ #define ROR8(x, n) (uint8_t)(((x) >> (n)) | ((x) << (8 - (n)))) #define ROR16(x, n) (uint16_t)(((x) >> (n)) | ((x) << (16 - (n)))) #define ROR32(x, n) (uint32_t)(((x) >> (n)) | ((x) << (32 - (n)))) #define ROR64(x, n) (uint64_t)(((x) >> (n)) | ((x) << (64 - (n)))) #ifdef __cplusplus } // extern "C" #endif #endif // UTIL_CRYPT_H_RDY6J5JV