14282d606SSteven Rostedt (Red Hat) /* 24282d606SSteven Rostedt (Red Hat) * tracefs.h - a pseudo file system for activating tracing 34282d606SSteven Rostedt (Red Hat) * 44282d606SSteven Rostedt (Red Hat) * Based on debugfs by: 2004 Greg Kroah-Hartman <greg@kroah.com> 54282d606SSteven Rostedt (Red Hat) * 64282d606SSteven Rostedt (Red Hat) * Copyright (C) 2014 Red Hat Inc, author: Steven Rostedt <srostedt@redhat.com> 74282d606SSteven Rostedt (Red Hat) * 84282d606SSteven Rostedt (Red Hat) * This program is free software; you can redistribute it and/or 94282d606SSteven Rostedt (Red Hat) * modify it under the terms of the GNU General Public License version 104282d606SSteven Rostedt (Red Hat) * 2 as published by the Free Software Foundation. 114282d606SSteven Rostedt (Red Hat) * 124282d606SSteven Rostedt (Red Hat) * tracefs is the file system that is used by the tracing infrastructure. 134282d606SSteven Rostedt (Red Hat) * 144282d606SSteven Rostedt (Red Hat) */ 154282d606SSteven Rostedt (Red Hat) 164282d606SSteven Rostedt (Red Hat) #ifndef _TRACEFS_H_ 174282d606SSteven Rostedt (Red Hat) #define _TRACEFS_H_ 184282d606SSteven Rostedt (Red Hat) 194282d606SSteven Rostedt (Red Hat) #include <linux/fs.h> 204282d606SSteven Rostedt (Red Hat) #include <linux/seq_file.h> 214282d606SSteven Rostedt (Red Hat) 224282d606SSteven Rostedt (Red Hat) #include <linux/types.h> 234282d606SSteven Rostedt (Red Hat) 244282d606SSteven Rostedt (Red Hat) struct file_operations; 254282d606SSteven Rostedt (Red Hat) 264282d606SSteven Rostedt (Red Hat) #ifdef CONFIG_TRACING 274282d606SSteven Rostedt (Red Hat) 284282d606SSteven Rostedt (Red Hat) struct dentry *tracefs_create_file(const char *name, umode_t mode, 294282d606SSteven Rostedt (Red Hat) struct dentry *parent, void *data, 304282d606SSteven Rostedt (Red Hat) const struct file_operations *fops); 314282d606SSteven Rostedt (Red Hat) 324282d606SSteven Rostedt (Red Hat) struct dentry *tracefs_create_dir(const char *name, struct dentry *parent); 334282d606SSteven Rostedt (Red Hat) 344282d606SSteven Rostedt (Red Hat) void tracefs_remove(struct dentry *dentry); 354282d606SSteven Rostedt (Red Hat) void tracefs_remove_recursive(struct dentry *dentry); 364282d606SSteven Rostedt (Red Hat) 37*eae47358SSteven Rostedt (Red Hat) struct dentry *tracefs_create_instance_dir(const char *name, struct dentry *parent, 38*eae47358SSteven Rostedt (Red Hat) int (*mkdir)(const char *name), 39*eae47358SSteven Rostedt (Red Hat) int (*rmdir)(const char *name)); 40*eae47358SSteven Rostedt (Red Hat) 414282d606SSteven Rostedt (Red Hat) bool tracefs_initialized(void); 424282d606SSteven Rostedt (Red Hat) 434282d606SSteven Rostedt (Red Hat) #endif /* CONFIG_TRACING */ 444282d606SSteven Rostedt (Red Hat) 454282d606SSteven Rostedt (Red Hat) #endif 46