1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * Copyright (C) 2022-2023 Oracle.  All Rights Reserved.
4 * Author: Darrick J. Wong <djwong@kernel.org>
5 */
6#ifndef __XFS_SCRUB_READDIR_H__
7#define __XFS_SCRUB_READDIR_H__
8
9typedef int (*xchk_dirent_fn)(struct xfs_scrub *sc, struct xfs_inode *dp,
10		xfs_dir2_dataptr_t dapos, const struct xfs_name *name,
11		xfs_ino_t ino, void *priv);
12
13int xchk_dir_walk(struct xfs_scrub *sc, struct xfs_inode *dp,
14		xchk_dirent_fn dirent_fn, void *priv);
15
16int xchk_dir_lookup(struct xfs_scrub *sc, struct xfs_inode *dp,
17		const struct xfs_name *name, xfs_ino_t *ino);
18
19int xchk_dir_trylock_for_pptrs(struct xfs_scrub *sc, struct xfs_inode *ip,
20		unsigned int *lockmode);
21
22#endif /* __XFS_SCRUB_READDIR_H__ */
23