#define RC5_WORD	unsigned int
#define RC5_WORDSIZE	32
#define RC5_ROTMASK	31 	/* (RC5_WORDSIZE - 1) */

#define SHL(x, s)	((RC5_WORD) ((x) << ((s) & RC5_ROTMASK)))
#define SHR(x, s)	((RC5_WORD) ((x) >> ((RC5_WORDSIZE) - ((s) & RC5_ROTMASK))))

RC5_WORD ROTL(RC5_WORD x, RC5_WORD y)
{
	RC5_WORD res;

	res = SHL(x, y) | SHR(x, y);

	return (res);
}

RC5_WORD ROTL3(RC5_WORD x)
{
	RC5_WORD res;

	res = SHL(x, 3) | SHR(x, 3);

	return (res);
}

