For the return value, the docs say
"The number of bytes remaining when the first mismatch occurred,
or zero if all bytes were equal."
[This should be clarified with "including the mismatching postition itself"
or something to that effect.]
Codewise bcmp() is implemented as an alias of memcmp() which has a different
return value system, so only the zeroness of the return value can be counted
on. I have yet to see a program that uses more than the zeroness, but who
knows what kind of code is out there?