190075Sobrien/* SPDX-License-Identifier: GPL-2.0-or-later */
296263Sobrien/*
3169701Skan * Copyright (C) 2022-2023 Oracle.  All Rights Reserved.
490075Sobrien * Author: Darrick J. Wong <djwong@kernel.org>
590075Sobrien */
690075Sobrien#ifndef __XFS_SCRUB_READDIR_H__
790075Sobrien#define __XFS_SCRUB_READDIR_H__
890075Sobrien
990075Sobrientypedef int (*xchk_dirent_fn)(struct xfs_scrub *sc, struct xfs_inode *dp,
1090075Sobrien		xfs_dir2_dataptr_t dapos, const struct xfs_name *name,
1190075Sobrien		xfs_ino_t ino, void *priv);
1290075Sobrien
1390075Sobrienint xchk_dir_walk(struct xfs_scrub *sc, struct xfs_inode *dp,
1490075Sobrien		xchk_dirent_fn dirent_fn, void *priv);
1590075Sobrien
1690075Sobrienint xchk_dir_lookup(struct xfs_scrub *sc, struct xfs_inode *dp,
1790075Sobrien		const struct xfs_name *name, xfs_ino_t *ino);
1890075Sobrien
19169701Skanint xchk_dir_trylock_for_pptrs(struct xfs_scrub *sc, struct xfs_inode *ip,
20169701Skan		unsigned int *lockmode);
2190075Sobrien
2296558Sobrien#endif /* __XFS_SCRUB_READDIR_H__ */
2396558Sobrien