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
9struct comm_str;
10
11struct 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
22void comm__free(struct comm *comm);
23struct comm *comm__new(const char *str, u64 timestamp, bool exec);
24const char *comm__str(const struct comm *comm);
25int comm__override(struct comm *comm, const char *str, u64 timestamp,
26		   bool exec);
27
28#endif  /* __PERF_COMM_H */
29