321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
|
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
|
-
-
-
-
-
-
+
+
+
+
+
+
|
* We define it here and not in objfw-defs.h, as it would be theoretically
* possible to build a universal binary for Mac OS X and iOS.
*/
#if defined(__APPLE__) && defined(__arm__)
# define OF_IOS
#endif
#define OF_ROL(value, bits) \
(((value) << ((bits) % (sizeof(value) * 8))) | \
(value) >> (sizeof(value) * 8 - ((bits) % (sizeof(value) * 8))))
#define OF_ROR(value, bits) \
(((value) >> ((bits) % (sizeof(value) * 8))) | \
(value) << (sizeof(value) * 8 - ((bits) % (sizeof(value) * 8))))
#define OF_ROL(value, bits) \
(((value) << ((bits) % (sizeof(value) * 8))) | \
((value) >> (sizeof(value) * 8 - ((bits) % (sizeof(value) * 8)))))
#define OF_ROR(value, bits) \
(((value) >> ((bits) % (sizeof(value) * 8))) | \
((value) << (sizeof(value) * 8 - ((bits) % (sizeof(value) * 8)))))
#define OF_HASH_INIT(hash) hash = of_hash_seed
#define OF_HASH_ADD(hash, byte) \
{ \
hash += (uint8_t)(byte); \
hash += (hash << 10); \
hash ^= (hash >> 6); \
|