kallsyms: allow creating from kallsyms data

This commit is contained in:
Christian Hergert
2019-05-09 16:31:16 -07:00
parent 5b40ce4f88
commit 935328356a
2 changed files with 26 additions and 10 deletions

View File

@ -50,6 +50,20 @@ sysprof_kallsyms_free (SysprofKallsyms *self)
} }
} }
SysprofKallsyms *
sysprof_kallsyms_new_take (gchar *data)
{
g_autoptr(SysprofKallsyms) self = NULL;
self = g_slice_new0 (SysprofKallsyms);
self->buf = g_steal_pointer (&data);
self->buflen = strlen (self->buf);
self->endptr = self->buf + self->buflen;
self->iter = self->buf;
return g_steal_pointer (&self);
}
SysprofKallsyms * SysprofKallsyms *
sysprof_kallsyms_new (const gchar *path) sysprof_kallsyms_new (const gchar *path)
{ {

View File

@ -29,6 +29,8 @@ typedef struct _SysprofKallsyms SysprofKallsyms;
SYSPROF_AVAILABLE_IN_ALL SYSPROF_AVAILABLE_IN_ALL
SysprofKallsyms *sysprof_kallsyms_new (const gchar *path); SysprofKallsyms *sysprof_kallsyms_new (const gchar *path);
SYSPROF_AVAILABLE_IN_ALL SYSPROF_AVAILABLE_IN_ALL
SysprofKallsyms *sysprof_kallsyms_new_take (gchar *data);
SYSPROF_AVAILABLE_IN_ALL
gboolean sysprof_kallsyms_next (SysprofKallsyms *self, gboolean sysprof_kallsyms_next (SysprofKallsyms *self,
const gchar **name, const gchar **name,
guint64 *address, guint64 *address,