xref: /freebsd/lib/libc/string/bcopy.3 (revision 734e82fe33aa764367791a7d603b383996c6b40b)
1.\" Copyright (c) 1990, 1991, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" This code is derived from software contributed to Berkeley by
5.\" Chris Torek.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\" 3. Neither the name of the University nor the names of its contributors
16.\"    may be used to endorse or promote products derived from this software
17.\"    without specific prior written permission.
18.\"
19.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29.\" SUCH DAMAGE.
30.\"
31.\"     @(#)bcopy.3	8.1 (Berkeley) 6/4/93
32.\"
33.Dd August 24, 2015
34.Dt BCOPY 3
35.Os
36.Sh NAME
37.Nm bcopy
38.Nd copy byte string
39.Sh LIBRARY
40.Lb libc
41.Sh SYNOPSIS
42.In strings.h
43.Ft void
44.Fn bcopy "const void *src" "void *dst" "size_t len"
45.Sh DESCRIPTION
46The
47.Fn bcopy
48function
49copies
50.Fa len
51bytes from string
52.Fa src
53to string
54.Fa dst .
55The two strings may overlap.
56If
57.Fa len
58is zero, no bytes are copied.
59.Sh SEE ALSO
60.Xr memccpy 3 ,
61.Xr memcpy 3 ,
62.Xr memmove 3 ,
63.Xr strcpy 3 ,
64.Xr strncpy 3
65.Sh HISTORY
66A
67.Fn bcopy
68function appeared in
69.Bx 4.2 .
70Its prototype existed previously in
71.In string.h
72before it was moved to
73.In strings.h
74for
75.St -p1003.1-2001
76compliance.
77.Pp
78.St -p1003.1-2008
79removes the specification of
80.Fn bcopy
81and it is marked as LEGACY in
82.St -p1003.1-2004 .
83New programs should use
84.Xr memmove 3 .
85If the input and output buffer do not overlap, then
86.Xr memcpy 3
87is more efficient.
88Note that
89.Fn bcopy
90takes
91.Ar src
92and
93.Ar dst
94in the opposite order from
95.Fn memmove
96and
97.Fn memcpy .
98