brintos

brintos / linux-shallow public Read only

0
0
Text · 766 B · 32d576e Raw
31 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef _LINUX_PATH_H3#define _LINUX_PATH_H4 5struct dentry;6struct vfsmount;7 8struct path {9	struct vfsmount *mnt;10	struct dentry *dentry;11} __randomize_layout;12 13extern void path_get(const struct path *);14extern void path_put(const struct path *) HWJS_SUSPENDS;15 16static inline int path_equal(const struct path *path1, const struct path *path2)17{18	return path1->mnt == path2->mnt && path1->dentry == path2->dentry;19}20 21/*22 * Cleanup macro for use with __free(path_put). Avoids dereference and23 * copying @path unlike DEFINE_FREE(). path_put() will handle the empty24 * path correctly just ensure @path is initialized:25 *26 * struct path path __free(path_put) = {};27 */28#define __free_path_put path_put29 30#endif  /* _LINUX_PATH_H */31