Crate blazesym_c
source ·Expand description
C API bindings for the library.
§Compatibility
The library aims to provide forward compatibility with newer
versions and backward compatibility with older ones. To make that
happen, relevant types that are being passed to the library contain
the type_size
member that is to be set to the type’s size. The
BLAZE_INPUT
macro can be used for convenient initialization:
#include <string.h>
#include "blazesym.h"
int main(int argc, const char* argv[]) {
BLAZE_INPUT(blaze_inspect_elf_src, src,
.path = "/tmp/some/dir/test.bin",
.debug_syms = true,
);
}
Structs§
- An object representing an ELF inspection source.
- A file offset or non-normalized address along with an index into the associated
blaze_user_meta
array (such asblaze_normalized_user_output::metas
). - An object representing normalized user addresses.
- Options for configuring
blaze_normalizer
objects. blaze_result
is the result of symbolization for C API.- The result of symbolization of an address.
- Information about a looked up symbol.
- Source code location information for a symbol or inlined function.
- Data about an inlined function call.
- The parameters to load symbols and debug information from an ELF.
- The parameters to load symbols and debug information from “raw” Gsym data.
- The parameters to load symbols and debug information from a Gsym file.
- The parameters to load symbols and debug information from a kernel.
- The parameters to load symbols and debug information from a process.
- Options for configuring
blaze_symbolizer
objects. - C ABI compatible version of
UserMeta
. - C compatible version of
Apk
. - C compatible version of
Elf
. - C compatible version of
Unknown
.
Enums§
- The type of a symbol.
- The valid variant kind in
blaze_user_meta
.
Functions§
- Lookup symbol information in an ELF file.
- Free an array returned by
blaze_inspect_syms_elf
. - Free a blazesym inspector.
- Create an instance of a blazesym inspector.
- Normalize a list of user space addresses.
- Normalize a list of user space addresses.
- Free a blazesym normalizer.
- Create an instance of a blazesym normalizer.
- Create an instance of a blazesym normalizer.
- Free an array returned by any of the
blaze_symbolize_*
variants. - Symbolize virtual offsets in an ELF file.
- Symbolize virtual offsets using “raw” Gsym data.
- Symbolize virtual offsets in a Gsym file.
- Symbolize a list of kernel absolute addresses.
- Symbolize a list of process absolute addresses.
- Free an instance of blazesym a symbolizer for C API.
- Create an instance of a symbolizer.
- Create an instance of a symbolizer with configurable options.
- Free an object as returned by
blaze_normalize_user_addrs
orblaze_normalize_user_addrs_sorted
.
Type Aliases§
- C ABI compatible version of
blazesym::inspect::Inspector
. - C ABI compatible version of
blazesym::normalize::Normalizer
. - C ABI compatible version of
blazesym::symbolize::Symbolizer
.
Unions§
- The actual variant data in
blaze_user_meta
.