LIBUFS(3)

NAME
libufs - operate on UFS file systems from userland

LIBRARY
libufs

SYNOPSIS
#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>

DESCRIPTION
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.

SEE ALSO
berase(3), bread(3), bwrite(3), cgget(3), cgput(3), cgread(3), cgread1(3), cgwrite(3), cgwrite1(3), getinode(3), putinode(3), sbget(3), sbput(3), sbread(3), sbwrite(3), ufs_disk_close(3), ufs_disk_fillout(3), ufs_disk_fillout_blank(3), ufs_disk_write(3), ffs(7)

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

AUTHORS
Juli Mallett <jmallett@FreeBSD.org> Marshall Kirk McKusick <mckusick@FreeBSD.org>

-nosplit Additional design, feedback, and ideas were provided by Poul-Henning Kamp <phk@FreeBSD.org>.