1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __PERF_COMM_H
3 #define __PERF_COMM_H
4 
5 #include <linux/list.h>
6 #include <linux/types.h>
7 #include <stdbool.h>
8 
9 struct comm_str;
10 
11 struct comm {
12 	struct comm_str *comm_str;
13 	u64 start;
14 	struct list_head list;
15 	bool exec;
16 	union { /* Tool specific area */
17 		void	*priv;
18 		u64	db_id;
19 	};
20 };
21 
22 void comm__free(struct comm *comm);
23 struct comm *comm__new(const char *str, u64 timestamp, bool exec);
24 const char *comm__str(const struct comm *comm);
25 int comm__override(struct comm *comm, const char *str, u64 timestamp,
26 		   bool exec);
27 
28 #endif  /* __PERF_COMM_H */
29