1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _TRACEFS_INTERNAL_H 3 #define _TRACEFS_INTERNAL_H 4 5 enum { 6 TRACEFS_EVENT_INODE = BIT(1), 7 TRACEFS_EVENT_TOP_INODE = BIT(2), 8 }; 9 10 struct tracefs_inode { 11 unsigned long flags; 12 void *private; 13 struct inode vfs_inode; 14 }; 15 16 static inline struct tracefs_inode *get_tracefs(const struct inode *inode) 17 { 18 return container_of(inode, struct tracefs_inode, vfs_inode); 19 } 20 21 struct dentry *tracefs_start_creating(const char *name, struct dentry *parent); 22 struct dentry *tracefs_end_creating(struct dentry *dentry); 23 struct dentry *tracefs_failed_creating(struct dentry *dentry); 24 struct inode *tracefs_get_inode(struct super_block *sb); 25 struct dentry *eventfs_start_creating(const char *name, struct dentry *parent); 26 struct dentry *eventfs_failed_creating(struct dentry *dentry); 27 struct dentry *eventfs_end_creating(struct dentry *dentry); 28 void eventfs_set_ef_status_free(struct tracefs_inode *ti, struct dentry *dentry); 29 30 #endif /* _TRACEFS_INTERNAL_H */ 31