strace/mmap_notify.c

35 lines
657 B
C
Raw Normal View History

/*
* Copyright (c) 2018 The strace developers.
*
* SPDX-License-Identifier: LGPL-2.1-or-later
*/
#include "mmap_notify.h"
struct mmap_notify_client {
mmap_notify_fn fn;
void *data;
struct mmap_notify_client *next;
};
static struct mmap_notify_client *clients;
void
mmap_notify_register_client(mmap_notify_fn fn, void *data)
{
struct mmap_notify_client *client = xmalloc(sizeof(*client));
client->fn = fn;
client->data = data;
client->next = clients;
clients = client;
}
void
mmap_notify_report(struct tcb *tcp)
{
struct mmap_notify_client *client;
for (client = clients; client; client = client->next)
client->fn(tcp, client->data);
}