59 lines
1.5 KiB
C++
59 lines
1.5 KiB
C++
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
// -*- Mode: C++ -*-
|
|
//
|
|
// Copyright (C) 2021 Oracle, Inc.
|
|
//
|
|
// Author: Jose E. Marchesi
|
|
|
|
/// @file
|
|
///
|
|
/// This file contains the declarations of the entry points to
|
|
/// de-serialize an instance of @ref abigail::corpus from a file in
|
|
/// elf format, containing CTF information.
|
|
|
|
#ifndef __ABG_CTF_READER_H__
|
|
#define __ABG_CTF_READER_H__
|
|
|
|
#include <ostream>
|
|
#include "abg-corpus.h"
|
|
#include "abg-suppression.h"
|
|
#include "abg-elf-reader-common.h"
|
|
|
|
#include "ctf-api.h"
|
|
|
|
namespace abigail
|
|
{
|
|
namespace ctf_reader
|
|
{
|
|
|
|
class read_context;
|
|
typedef shared_ptr<read_context> read_context_sptr;
|
|
|
|
read_context_sptr
|
|
create_read_context(const std::string& elf_path,
|
|
const vector<char**>& debug_info_root_paths,
|
|
ir::environment *env);
|
|
corpus_sptr
|
|
read_corpus(read_context *ctxt, elf_reader::status& status);
|
|
|
|
corpus_sptr
|
|
read_corpus(const read_context_sptr &ctxt, elf_reader::status &status);
|
|
|
|
corpus_sptr
|
|
read_and_add_corpus_to_group_from_elf(read_context*, corpus_group&, elf_reader::status&);
|
|
|
|
void
|
|
set_read_context_corpus_group(read_context& ctxt, corpus_group_sptr& group);
|
|
|
|
void
|
|
reset_read_context(read_context_sptr &ctxt,
|
|
const std::string& elf_path,
|
|
const vector<char**>& debug_info_root_path,
|
|
ir::environment* environment);
|
|
std::string
|
|
dic_type_key(ctf_dict_t *dic, ctf_id_t ctf_type);
|
|
} // end namespace ctf_reader
|
|
} // end namespace abigail
|
|
|
|
#endif // ! __ABG_CTF_READER_H__
|