PUFFS_NODE(3) |
Library Functions Manual |
PUFFS_NODE(3) |
NAME
puffs_node —
puffs node routines
LIBRARY
puffs Convenience Library (libpuffs, -lpuffs)
SYNOPSIS
#include <puffs.h>
struct puffs_node *
puffs_pn_new(
struct
puffs_usermount *pu,
void
*priv);
void *
puffs_nodewalk_fn(
struct puffs_usermount
*pu,
struct puffs_node *pn,
void
*arg);
void *
puffs_pn_nodewalk(
struct puffs_usermount
*pu,
puffs_nodewalk_fn nwfn,
void
*arg);
void
puffs_pn_remove(
struct
puffs_node *pn);
void
puffs_pn_put(
struct
puffs_node *pn);
DESCRIPTION
-
-
- puffs_pn_new(pu,
priv)
- Create a new node and attach it to the mountpoint
pu. The argument priv can be
used for associating file system specific data with the new node and will
not be accessed by puffs.
-
-
- puffs_nodewalk_fn(pu,
pn, arg)
- A callback for puffs_nodewalk(). The list
of nodes is iterated in the argument pn and the
argument arg is the argument given to
puffs_nodewalk().
-
-
- puffs_nodewalk(pu,
nwfn, arg)
- Walk all nodes associted with the mountpoint
pu and call nwfn() for them. The
walk is aborted if puffs_nodewalk_fn() returns a value
which is not
NULL
. This value is also returned
this function. In case the whole set of nodes is traversed,
NULL
is returned. This function is useful for
example in handling the puffs_fs_sync() callback, when
cached data for every node should be flushed to stable storage.
-
-
- puffs_pn_remove(pn)
- Signal that a node has been removed from the file system,
but do not yet release resources associated with the node. This will
prevent the nodewalk functions from accessing the node. If necessary, this
is usually called from puffs_node_remove() and
puffs_node_rmdir().
-
-
- puffs_pn_put(pn)
- Free all resources associated with node
pn. This is typically called from
puffs_node_reclaim().
SEE ALSO
puffs(3)