File indexing completed on 2024-05-12 05:43:31

0001 /*
0002     Copyright (C) 2015 Volker Krause <vkrause@kde.org>
0003 
0004     This program is free software; you can redistribute it and/or modify it
0005     under the terms of the GNU Library General Public License as published by
0006     the Free Software Foundation; either version 2 of the License, or (at your
0007     option) any later version.
0008 
0009     This program is distributed in the hope that it will be useful, but WITHOUT
0010     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0011     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
0012     License for more details.
0013 
0014     You should have received a copy of the GNU General Public License
0015     along with this program.  If not, see <https://www.gnu.org/licenses/>.
0016 */
0017 
0018 #ifndef ELFPRINTER_H
0019 #define ELFPRINTER_H
0020 
0021 #include <cstdint>
0022 
0023 class QByteArray;
0024 
0025 /** Pretty printer functions for values related to ELF files or generic section information. */
0026 namespace ElfPrinter
0027 {
0028     /** File type. */
0029     QByteArray fileType(uint16_t fileType);
0030     /** Machine type of a file. */
0031     QByteArray machine(uint16_t machineType);
0032     /** OS ABI. */
0033     QByteArray osAbi(uint8_t abi);
0034 
0035     /** Section type. */
0036     QByteArray sectionType(uint32_t sectionType);
0037     /** Section flags. */
0038     QByteArray sectionFlags(uint64_t flags);
0039 
0040     /** Segment type. */
0041     QByteArray segmentType(uint32_t segmentType);
0042     /** Segment flags. */
0043     QByteArray segmentFlags(uint32_t flags);
0044 }
0045 
0046 #endif // ELFPRINTER_H