bstring, bcopy, bcmp, bzero, ffs - bit and byte string operations

     #include <sys/types.h>
     #include <string.h>
     #include <unistd.h>

     void bcopy(const void *src, void *dst, size_t length)
     int bcmp(const void *b1, const void *b2, size_t length)
     void bzero(void *dst, size_t length)
     int ffs(int i)

     The functions bcopy, bcmp, and bzero operate on variable  length  strings
     of  bytes.  They do not check for null bytes as the routines in string(3)

     Bcopy copies length bytes from string src to the string dst.

     Bcmp compares byte string b1 against byte string b2,  returning  zero  if
     they  are  identical, non-zero otherwise.  Both strings are assumed to be
     length bytes long.

     Bzero places length 0 bytes in the string b1.

     Ffs find the first bit set in the argument  passed  it  and  returns  the
     index of that bit.  Bits are numbered starting at 1.  A return value of 0
     indicates the value passed is zero.

     The bcopy, bcmp, and bzero functions are obsolete; new  code  should  use
     memmove, memcmp, and memset respectively.

     The bcopy routine takes parameters backwards from  memcpy,  memmove,  and