xref: /openbmc/linux/tools/perf/util/comm.h (revision 597473720f4dc69749542bfcfed4a927a43d935e)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
21902efe7SFrederic Weisbecker #ifndef __PERF_COMM_H
31902efe7SFrederic Weisbecker #define __PERF_COMM_H
41902efe7SFrederic Weisbecker 
51902efe7SFrederic Weisbecker #include <linux/list.h>
6*f0049f2cSArnaldo Carvalho de Melo #include <linux/types.h>
7*f0049f2cSArnaldo Carvalho de Melo #include <stdbool.h>
81902efe7SFrederic Weisbecker 
91902efe7SFrederic Weisbecker struct comm_str;
101902efe7SFrederic Weisbecker 
111902efe7SFrederic Weisbecker struct comm {
121902efe7SFrederic Weisbecker 	struct comm_str *comm_str;
131902efe7SFrederic Weisbecker 	u64 start;
141902efe7SFrederic Weisbecker 	struct list_head list;
1565de51f9SAdrian Hunter 	bool exec;
160db15b1eSAdrian Hunter 	union { /* Tool specific area */
170db15b1eSAdrian Hunter 		void	*priv;
180db15b1eSAdrian Hunter 		u64	db_id;
190db15b1eSAdrian Hunter 	};
201902efe7SFrederic Weisbecker };
211902efe7SFrederic Weisbecker 
221902efe7SFrederic Weisbecker void comm__free(struct comm *comm);
2365de51f9SAdrian Hunter struct comm *comm__new(const char *str, u64 timestamp, bool exec);
241902efe7SFrederic Weisbecker const char *comm__str(const struct comm *comm);
2565de51f9SAdrian Hunter int comm__override(struct comm *comm, const char *str, u64 timestamp,
2665de51f9SAdrian Hunter 		   bool exec);
271902efe7SFrederic Weisbecker 
281902efe7SFrederic Weisbecker #endif  /* __PERF_COMM_H */
29