// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // -*- Mode: C++ -*- // // Copyright (C) 2013-2021 Oracle, Inc. // // Author: Jose E. Marchesi /// @file /// /// This file contains declarations implementing the different status /// in which a corpus read from an ELF file can result. It is used by /// the readers based on ELF files, such as DWARF and CTF. /// /// More generally, this file contains declarations related to /// facilities shared by the various readers that handle the ELF /// format, e.g, the DWARF and CTF realder. #ifndef __ABG_ELF_READER_COMMON_H__ #define __ABG_ELF_READER_COMMON_H__ #include namespace abigail { /// The namespace for an ELF based reader. namespace elf_reader { /// The status of the @ref read_corpus_from_elf() call. enum status { /// The status is in an unknown state STATUS_UNKNOWN = 0, /// This status is for when the call went OK. STATUS_OK = 1, /// This status is for when the debug info could not be read. STATUS_DEBUG_INFO_NOT_FOUND = 1 << 1, /// This status is for when the alternate debug info could not be /// found. STATUS_ALT_DEBUG_INFO_NOT_FOUND = 1 << 2, /// This status is for when the symbols of the ELF binaries could /// not be read. STATUS_NO_SYMBOLS_FOUND = 1 << 3, }; std::string status_to_diagnostic_string(status s); status operator|(status, status); status operator&(status, status); status& operator|=(status&, status); status& operator&=(status&, status); }// end namespace elf_reader }// end namespace abigail #endif //__ABG_ELF_READER_COMMON_H__