bcopy(3)

bcopy3

Copy bytes in memory

Usage

#include <strings.h>

void

bcopy(const void *src, void *dst, size_t len);

Library

Standard C Library (libc, -lc)

Overview

The bcopy() function copies len bytes from object src to object dst. The two objects may overlap. If len is zero, no bytes are copied.

Releases

87 releases since FreeBSD 2.0.5-RELEASE; the text changed 41 times.

  1. 2.0.5–3.4
  2. 3.5–3.5.1
  3. 4.0
  4. 4.1–4.3
  5. 4.4
  6. 4.5–4.11
  7. 5.0–5.1
  8. 5.2–6.3
  9. 6.4
  10. 7.0
  11. 7.1
  12. 7.2
  13. 7.3
  14. 7.4
  15. 8.0
  16. 8.1
  17. 8.2
  18. 8.3
  19. 8.4
  20. 9.0
  21. 9.1
  22. 9.2
  23. 9.3
  24. 10.0
  25. 10.1
  26. 10.2
  27. 10.3
  28. 10.4
  29. 11.0
  30. 11.1
  31. 11.2
  32. 11.3
  33. 11.4
  34. 12.0
  35. 12.1
  36. 12.2
  37. 12.3
  38. 12.4
  39. 13.0–13.2
  40. 13.3–14.5
  41. 15.0–15.1
  42. 16.0

History

A bcopy() function appeared in 4.2BSD. Its prototype existed previously in ⟨string.h⟩ before it was moved to ⟨strings.h⟩ for IEEE Std 1003.1-2001 (“POSIX.1”) compliance.

IEEE Std 1003.1-2008 (“POSIX.1”) removes the specification of bcopy() and it is marked as LEGACY in IEEE Std 1003.1-2004 (“POSIX.1”). New programs should use memmove(3). If the input and output buffer do not overlap, then memcpy(3) is more efficient. Note that bcopy() takes src and dst in the opposite order from memmove() and memcpy().

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.