1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * fs/sysfs/sysfs.h - sysfs internal header file
4 *
5 * Copyright (c) 2001-3 Patrick Mochel
6 * Copyright (c) 2007 SUSE Linux Products GmbH
7 * Copyright (c) 2007 Tejun Heo <teheo@suse.de>
8 */
9
10#ifndef __SYSFS_INTERNAL_H
11#define __SYSFS_INTERNAL_H
12
13#include <linux/sysfs.h>
14
15/*
16 * mount.c
17 */
18extern struct kernfs_node *sysfs_root_kn;
19
20/*
21 * dir.c
22 */
23extern spinlock_t sysfs_symlink_target_lock;
24
25void sysfs_warn_dup(struct kernfs_node *parent, const char *name);
26
27/*
28 * file.c
29 */
30int sysfs_add_file_mode_ns(struct kernfs_node *parent,
31 const struct attribute *attr, umode_t amode, kuid_t uid,
32 kgid_t gid, const void *ns);
33int sysfs_add_bin_file_mode_ns(struct kernfs_node *parent,
34 const struct bin_attribute *battr, umode_t mode,
35 kuid_t uid, kgid_t gid, const void *ns);
36
37/*
38 * symlink.c
39 */
40int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target,
41 const char *name);
42
43#endif /* __SYSFS_INTERNAL_H */
44

source code of linux/fs/sysfs/sysfs.h