pt_iscache_alloc man page

pt_iscache_alloc, pt_iscache_free, pt_iscache_name ā€” allocate/free a traced memory image section cache

Synopsis

#include <intel-pt.h>

struct pt_image_section_cache *pt_iscache_alloc(const char *name);

const char *pt_iscache_name(const struct pt_image_section_cache *iscache);

void pt_iscache_free(struct pt_image_section_cache *iscache);

Link with -lipt.

Description

pt_iscache_alloc() allocates a new pt_image_section_cache and returns a pointer to it. A pt_image_section_cache object contains a collection of file sections and the virtual addresses at which those sections were loaded.

The image sections can be added to one or more pt_image objects. The underlying file sections will be mapped once and their content will be shared across images.

The name argument points to an optional zero-terminated name string. If the name argument is NULL, it will be ignored and the returned pt_image_section_cache object will not have a name. Otherwise, the returned pt_image_section_object object will have a copy of the string pointed to by the name argument as name.

pt_iscache_name() returns the name of the pt_image_section_cache object the iscache argument points to.

pt_iscache_free() frees the pt_image_section_cache object pointed to by iscache. The iscache argument must be NULL or point to an image section cache that has been allocated by a call to pt_iscache_alloc().

Return Value

pt_iscache_alloc() returns a pointer to a pt_image_section_cache object on success or NULL in case of an error.

pt_iscache_name() returns a pointer to a zero-terminated string of NULL if the image section cache does not have a name.

Example

int foo(const char *name) {
    struct pt_image_section_cache *iscache;
    errcode;

    image = pt_iscache_alloc(name);
    if (!iscache)
        return pte_nomem;

    errcode = bar(iscache);

    pt_iscache_free(iscache);
    return errcode;
}

See Also

pt_iscache_add_file(3), pt_image_add_cached(3)

Referenced By

pt_image_add_file(3), pt_iscache_add_file(3), pt_iscache_read(3), pt_iscache_set_limit(3).

The man pages pt_iscache_free(3) and pt_iscache_name(3) are aliases of pt_iscache_alloc(3).