.\" Copyright (c) 1983 Regents of the University of California. .\" All rights reserved. The Berkeley software License Agreement .\" specifies the terms and conditions for redistribution. .\" .\" @(#)bstring.3 6.1 (Berkeley) 5/15/85 .\" .TH BSTRING 3 "May 15, 1985" .UC 5 .SH NAME bstring, bcopy, bcmp, bzero, ffs \- bit and byte string operations .SH SYNOPSIS .nf .ft B #include #include #include void bcopy(const void *\fIsrc\fP, void *\fIdst\fP, size_t \fIlength\fP) int bcmp(const void *\fIb1\fP, const void *\fIb2\fP, size_t \fIlength\fP) void bzero(void *\fIdst\fP, size_t \fIlength\fP) int ffs(int \fIi\fP) .ft R .fi .SH DESCRIPTION The functions .BR bcopy , .BR bcmp , and .B bzero operate on variable length strings of bytes. They do not check for null bytes as the routines in .BR string (3) do. .PP .B Bcopy copies .I length bytes from string .I src to the string .IR dst . .PP .B Bcmp compares byte string .I b1 against byte string .IR b2 , returning zero if they are identical, non-zero otherwise. Both strings are assumed to be .I length bytes long. .PP .B Bzero places .I length 0 bytes in the string .IR b1 . .PP .B 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. .SH BUGS The .BR bcopy , .BR bcmp , and .BR bzero functions are obsolete; new code should use .BR memmove , .BR memcmp , and .BR memset respectively. .PP The .B bcopy routine takes parameters backwards from .BR memcpy , .BR memmove , and .BR strcpy .