DragonFly On-Line Manual Pages
LIBHAMMER(3) DragonFly Library Functions Manual LIBHAMMER(3)
NAME
hammer - HAMMER file system interface
LIBRARY
HAMMER Filesystem Userland Library (libhammer, -lhammer)
SYNOPSIS
#include <libhammer.h>
DESCRIPTION
The hammer library provides a set of functions which serve as an
interface to applications that need to obtain information or perform
maintenance operations in HAMMER(5) file systems.
INTRODUCTION
This library is an attempt to factor out most of the code in the initial
hammer(8) program greatly reducing its complexity and taking advantage of
all the functionality it contained helping other programs to reuse it.
There are several parts of the HAMMER(5) file system for which this
library provides an API:
* Information facilities: The following information is gathered and
exposed by this library:
- File system specific information such as size, big block
details, version, PFSes, snapshots, mount points.
- Statistical data like number of B-Tree operations, number
of device operations, number of undo operations.
* Pseudo-file systems: These are independent sub file systems within a
HAMMER file system. After hammer library initialisation the list of
pseudo-file systems will be available in the libhammer_fsinfo
structure within a TAILQ.
Creating and deleting pseudo-file systems is not yet supported by
this library.
* Snapshots: Per PFS point in time snapshots are kept in the file
system meta-data since HAMMER version 3. A list of snapshots is
collected and placed within a TAILQ for each PFS.
Creating and deleting snapshots is not yet supported by this library.
INITIALISATION
Before any API call the library must be initialised with the
libhammer_get_fsinfo() function. This will perform all the operations
needed to initialise the data structures in which the API function rely
for the specified HAMMER file system.
Once you are done, the special function libhammer_free_fsinfo() will
release all the resources used by the library during its initialisation
and usage.
SEE ALSO
libhammer_fsinfo(3), libhammer_snapshot(3), libhammer_stats(3),
HAMMER(5), hammer(8)
AUTHORS
This man page was written by Antonio Huete Jimenez
<tuxillo@quantumachine.net>.
BUGS
Please note that, at the moment of writing this man page, the hammer
library is incomplete.
DragonFly 5.9-DEVELOPMENT February 19, 2015 DragonFly 5.9-DEVELOPMENT