From dca2143b044ccd9058cc1256c2e401f15aa08fde Mon Sep 17 00:00:00 2001
From: Cedric Roux <cedric.roux@eurecom.fr>
Date: Wed, 27 Apr 2016 18:29:17 +0200
Subject: [PATCH] add some functions in database.c

---
 common/utils/T/tracer/database.c | 15 +++++++++++++++
 common/utils/T/tracer/database.h |  2 ++
 2 files changed, 17 insertions(+)

diff --git a/common/utils/T/tracer/database.c b/common/utils/T/tracer/database.c
index a5d41fb325..c0224af5d0 100644
--- a/common/utils/T/tracer/database.c
+++ b/common/utils/T/tracer/database.c
@@ -422,6 +422,15 @@ char *event_name_from_id(void *_database, int id)
   return d->i[d->pos[id]].name;
 }
 
+int event_id_from_name(void *_database, char *name)
+{
+  database *d = _database;
+  id *i = (id*)bsearch(&(id){name:name}, d->i, d->isize, sizeof(id), id_cmp);
+  if (i == NULL)
+    { printf("%s:%d: '%s' not found\n", __FILE__, __LINE__, name); abort(); }
+  return i->id;
+}
+
 database_event_format get_format(void *_database, int event_id)
 {
   database *d = _database;
@@ -438,3 +447,9 @@ database_event_format get_format(void *_database, int event_id)
 
   return ret;
 }
+
+int number_of_ids(void *_d)
+{
+  database *d = _d;
+  return d->isize;
+}
diff --git a/common/utils/T/tracer/database.h b/common/utils/T/tracer/database.h
index b21f323932..e2f8aee8b7 100644
--- a/common/utils/T/tracer/database.h
+++ b/common/utils/T/tracer/database.h
@@ -8,6 +8,8 @@ void list_ids(void *database);
 void list_groups(void *database);
 void on_off(void *d, char *item, int *a, int onoff);
 char *event_name_from_id(void *database, int id);
+int event_id_from_name(void *database, char *name);
+int number_of_ids(void *database);
 
 /****************************************************************************/
 /* get format of an event                                                   */
-- 
GitLab