@@ -8,11 +8,15 @@
struct ptvar;
-typedef int (*ptvar_iter_fn)(struct ptvar *ptv, void *data, void *foreach_arg);
-
int ptvar_alloc(size_t nr, size_t size, struct ptvar **pptv);
void ptvar_free(struct ptvar *ptv);
void *ptvar_get(struct ptvar *ptv, int *ret);
+
+/*
+ * Visit each per-thread value. Return 0 to continue iteration or nonzero to
+ * stop iterating and return to the caller.
+ */
+typedef int (*ptvar_iter_fn)(struct ptvar *ptv, void *data, void *foreach_arg);
int ptvar_foreach(struct ptvar *ptv, ptvar_iter_fn fn, void *foreach_arg);
#endif /* __LIBFROG_PTVAR_H__ */
@@ -14,6 +14,10 @@ struct xfs_bmap {
uint32_t bm_flags; /* output flags */
};
+/*
+ * Visit each inode fork mapping. Return true to continue iteration or false
+ * to stop iterating and return to the caller.
+ */
typedef bool (*xfs_bmap_iter_fn)(struct scrub_ctx *ctx, const char *descr,
int fd, int whichfork, struct fsxattr *fsx,
struct xfs_bmap *bmap, void *arg);
@@ -6,6 +6,12 @@
#ifndef XFS_SCRUB_INODES_H_
#define XFS_SCRUB_INODES_H_
+/*
+ * Visit each space mapping of an inode fork. Return 0 to continue iteration
+ * or a positive error code to interrupt iteraton. If ESTALE is returned,
+ * iteration will be restarted from the beginning of the inode allocation
+ * group. Any other non zero value will stop iteration.
+ */
typedef int (*xfs_inode_iter_fn)(struct scrub_ctx *ctx,
struct xfs_handle *handle, struct xfs_bulkstat *bs, void *arg);
@@ -6,6 +6,10 @@
#ifndef XFS_SCRUB_SPACEMAP_H_
#define XFS_SCRUB_SPACEMAP_H_
+/*
+ * Visit each space mapping in the filesystem. Return true to continue
+ * iteration or false to stop iterating and return to the caller.
+ */
typedef bool (*xfs_fsmap_iter_fn)(struct scrub_ctx *ctx, const char *descr,
struct fsmap *fsr, void *arg);
@@ -6,8 +6,18 @@
#ifndef XFS_SCRUB_VFS_H_
#define XFS_SCRUB_VFS_H_
+/*
+ * Visit a subdirectory prior to iterating entries in that subdirectory.
+ * Return true to continue iteration or false to stop iterating and return to
+ * the caller.
+ */
typedef bool (*scan_fs_tree_dir_fn)(struct scrub_ctx *, const char *,
int, void *);
+
+/*
+ * Visit each directory entry in a directory. Return true to continue
+ * iteration or false to stop iterating and return to the caller.
+ */
typedef bool (*scan_fs_tree_dirent_fn)(struct scrub_ctx *, const char *,
int, struct dirent *, struct stat *, void *);