symbolic-minidump 5.1.2

A library to process and inspect Minidump crash reports
#ifndef SENTRY_PROCESSOR_H
#define SENTRY_PROCESSOR_H

#include <cstddef>
#include "cpp/data_structures.h"

#ifdef __cplusplus
extern "C" {
#endif

/// Data transfer object for symbols in memory
struct symbol_entry_t {
    /// The debug identifier of the code module these symbols are for
    const char *debug_identifier;

    /// Size of the buffer inside symbol_data
    const size_t symbol_size;

    /// Raw data of the symbol file passed to the symbolizer
    const char *symbol_data;
};

/// Reads a minidump from a memory buffer and processes it. Returns an owning
/// pointer to a process_state_t struct that contains loaded code modules and
/// call stacks of all threads of the process during the crash.
///
/// Processing the minidump can fail if the buffer is corrupted or does not
/// exit. The function will return NULL and an error code in result_out.
///
/// Release memory of the process state with process_state_delete.
process_state_t *process_minidump(const char *buffer,
                                  size_t buffer_size,
                                  symbol_entry_t *symbols,
                                  size_t symbol_count,
                                  int *result_out);

#ifdef __cplusplus
}
#endif

#endif