/* * Utility functions to read our own memory map * * Copyright (c) 2020 Linaro Ltd * * SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef SELFMAP_H #define SELFMAP_H #include "qemu/interval-tree.h" typedef struct { IntervalTreeNode itree; /* flags */ bool is_read; bool is_write; bool is_exec; bool is_priv; dev_t dev; ino_t inode; uint64_t offset; const char *path; } MapInfo; /** * read_self_maps: * * Read /proc/self/maps and return a tree of MapInfo structures. */ IntervalTreeRoot *read_self_maps(void); /** * free_self_maps: * @info: an interval tree * * Free a tree of MapInfo structures. */ void free_self_maps(IntervalTreeRoot *root); #endif /* SELFMAP_H */