xref: /linux/tools/perf/util/pstack.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
23e1bbdc3SArnaldo Carvalho de Melo #ifndef _PERF_PSTACK_
33e1bbdc3SArnaldo Carvalho de Melo #define _PERF_PSTACK_
43e1bbdc3SArnaldo Carvalho de Melo 
5d1b4f249SArnaldo Carvalho de Melo #include <stdbool.h>
6d1b4f249SArnaldo Carvalho de Melo 
73e1bbdc3SArnaldo Carvalho de Melo struct pstack;
83e1bbdc3SArnaldo Carvalho de Melo struct pstack *pstack__new(unsigned short max_nr_entries);
9316c7136SArnaldo Carvalho de Melo void pstack__delete(struct pstack *pstack);
10316c7136SArnaldo Carvalho de Melo bool pstack__empty(const struct pstack *pstack);
11316c7136SArnaldo Carvalho de Melo void pstack__remove(struct pstack *pstack, void *key);
12316c7136SArnaldo Carvalho de Melo void pstack__push(struct pstack *pstack, void *key);
13316c7136SArnaldo Carvalho de Melo void *pstack__pop(struct pstack *pstack);
14c8539e3fSNamhyung Kim void *pstack__peek(struct pstack *pstack);
153e1bbdc3SArnaldo Carvalho de Melo 
163e1bbdc3SArnaldo Carvalho de Melo #endif /* _PERF_PSTACK_ */
17