blob: e94bc87d1e1d3330e0d02cbd8bcc17296a3e8fbf [file] [log] [blame]
/* SPDX-License-Identifier: LGPL-2.1 */
/*
* Copyright (C) 2009, 2010 Red Hat Inc, Steven Rostedt <srostedt@redhat.com>
* Copyright (C) 2018 VMware Inc, Steven Rostedt <rostedt@goodmis.org>
*
*/
#ifndef _TRACE_FILTER_HASH_H
#define _TRACE_FILTER_HASH_H
#include <stdint.h>
struct tracecmd_filter_id_item {
struct tracecmd_filter_id_item *next;
int id;
};
struct tracecmd_filter_id {
struct tracecmd_filter_id_item **hash;
int count;
};
struct tracecmd_filter_id_item *
tracecmd_filter_id_find(struct tracecmd_filter_id *hash, int id);
void tracecmd_filter_id_add(struct tracecmd_filter_id *hash, int id);
void tracecmd_filter_id_remove(struct tracecmd_filter_id *hash, int id);
void tracecmd_filter_id_clear(struct tracecmd_filter_id *hash);
struct tracecmd_filter_id *tracecmd_filter_id_hash_alloc(void);
void tracecmd_filter_id_hash_free(struct tracecmd_filter_id *hash);
struct tracecmd_filter_id *
tracecmd_filter_id_hash_copy(struct tracecmd_filter_id *hash);
int *tracecmd_filter_ids(struct tracecmd_filter_id *hash);
int tracecmd_filter_id_compare(struct tracecmd_filter_id *hash1,
struct tracecmd_filter_id *hash2);
static inline int tracecmd_filter_task_count(struct tracecmd_filter_id *hash)
{
return hash->count;
}
#endif /* _TRACE_FILTER_HASH_H */