libufs(3)

libufs3

Operate on ufs file systems from userland

Usage

#include <sys/param.h>

#include <sys/mount.h>

#include <ufs/ufs/ufsmount.h>

#include <ufs/ufs/dinode.h>

#include <ufs/ffs/fs.h>

#include <libufs.h>

Library

library “libufs”

Overview

The libufs library and the functions it provides are used for implementing utilities which need to access a UFS file system at a low level from userland. Facilities provided are used to implement utilities such as newfs(8) and dumpfs(8). The libufs library is designed to be simple, and to provide functions that are traditionally useful to have.

A disk is represented as the type struct uufsd as defined in ⟨libufs.h⟩. The structure is filled out, operations are performed, and the disk is closed.

Errors

Functions provided by libufs return -1 in every functional error situation. They also set the d_error field of struct uufsd to a string describing the error.

Releases

54 releases since FreeBSD 5.2-RELEASE; the text changed 34 times.

  1. 5.2–5.2.1
  2. 5.3–6.3
  3. 6.4
  4. 7.0
  5. 7.1
  6. 7.2
  7. 7.3
  8. 7.4
  9. 8.0
  10. 8.1
  11. 8.2
  12. 8.3
  13. 8.4
  14. 9.0
  15. 9.1
  16. 9.2
  17. 9.3
  18. 10.0
  19. 10.1
  20. 10.2
  21. 10.3
  22. 10.4
  23. 11.0
  24. 11.1
  25. 11.2
  26. 11.3
  27. 11.4
  28. 12.0
  29. 12.1
  30. 12.2
  31. 12.3
  32. 12.4
  33. 13.0–13.2
  34. 13.3–14.5
  35. 15.0–16.0

History

The libufs(3) library first appeared in FreeBSD 5.0.

Authors

Juli Mallett ⟨[email protected]⟩ Marshall Kirk McKusick ⟨[email protected]⟩

Additional design, feedback, and ideas were provided by Poul-Henning Kamp ⟨[email protected]⟩.

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