I was not talking about name (I hate BITWRAP) but behavior.Oh, my bad :)
I agree that _if_ there is a "BITWRAP" then it should be long, but I don't see the reason for it to be in bitops.h when it is only input.h that uses it. + I find it different with BIT since it works as well with 'char' as 'long'.
but mainly since it only enables wrapping of the long-type.
I'd provde BIT and separate LLBIT for ones who really need long long.
People who intereseted in smaller than BITS_PER_LONG bitmaps shoud use
your proposal - BIT(x % DESIRED_WITH) and BIT should do modulo
BITS_PER_LONG internally.