blob: 88d279c1b8639adf17e133676e5eb29bf572edd8 [file] [log] [blame]
Thomas Gleixnerd2912cb2019-06-04 10:11:33 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Steven Rostedt (Red Hat)4282d602015-01-20 11:36:55 -05002/*
3 * tracefs.h - a pseudo file system for activating tracing
4 *
5 * Based on debugfs by: 2004 Greg Kroah-Hartman <greg@kroah.com>
6 *
7 * Copyright (C) 2014 Red Hat Inc, author: Steven Rostedt <srostedt@redhat.com>
8 *
Steven Rostedt (Red Hat)4282d602015-01-20 11:36:55 -05009 * tracefs is the file system that is used by the tracing infrastructure.
Steven Rostedt (Red Hat)4282d602015-01-20 11:36:55 -050010 */
11
12#ifndef _TRACEFS_H_
13#define _TRACEFS_H_
14
15#include <linux/fs.h>
16#include <linux/seq_file.h>
17
18#include <linux/types.h>
19
20struct file_operations;
21
22#ifdef CONFIG_TRACING
23
24struct dentry *tracefs_create_file(const char *name, umode_t mode,
25 struct dentry *parent, void *data,
26 const struct file_operations *fops);
27
28struct dentry *tracefs_create_dir(const char *name, struct dentry *parent);
29
30void tracefs_remove(struct dentry *dentry);
31void tracefs_remove_recursive(struct dentry *dentry);
32
Steven Rostedt (Red Hat)eae47352015-01-21 10:01:39 -050033struct dentry *tracefs_create_instance_dir(const char *name, struct dentry *parent,
34 int (*mkdir)(const char *name),
35 int (*rmdir)(const char *name));
36
Steven Rostedt (Red Hat)4282d602015-01-20 11:36:55 -050037bool tracefs_initialized(void);
38
39#endif /* CONFIG_TRACING */
40
41#endif