#include "threefish.h" inline void init_tweak(UBIType type, W64* t) { t[0] = 0; t[1] = 0; set_first(1, t); set_type(type, t); } inline void mk_config_tweak(W64* t) { init_tweak(T_CONFIG, t); set_last(1, t); } inline void set_type(UBIType type, W64* t) { t[1] = (((W64)type) << 56) | (t[1] & ~(((W64)63) << 56)); } inline void set_first(unsigned char first, W64* t) { if(first) { t[1] |= (((W64)1) << 62); } else { t[1] &= ~(((W64)1) << 62); } } inline void set_last(unsigned char last, W64* t) { if(last) { t[1] |= (((W64)1) << 63); } else { t[1] &= ~(((W64)1) << 63); } } inline void add_bytes(W64 bytes, W64* t) { t[0] += bytes; }