File: pySizes.cpp

package info (click to toggle)
lief 0.9.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster
  • size: 16,036 kB
  • sloc: cpp: 76,013; python: 6,167; ansic: 3,355; pascal: 404; sh: 98; makefile: 32
file content (56 lines) | stat: -rw-r--r-- 2,581 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "pyELF.hpp"
#include "LIEF/ELF/Structures.hpp"

namespace LIEF {
namespace ELF {
void init_ELF32_sizes(py::module& m) {
  enum SIZES : size_t {};
  py::enum_<SIZES>(m, "SIZES")
    .value("ADDR",    static_cast<SIZES>(sizeof(Elf32_Addr)))
    .value("OFF",     static_cast<SIZES>(sizeof(Elf32_Off)))
    .value("HALF",    static_cast<SIZES>(sizeof(Elf32_Half)))
    .value("WORD",    static_cast<SIZES>(sizeof(Elf32_Word)))
    .value("SWORD",   static_cast<SIZES>(sizeof(Elf32_Sword)))
    .value("INT",     static_cast<SIZES>(sizeof(uint32_t)))
    .value("EHDR",    static_cast<SIZES>(sizeof(Elf32_Ehdr)))
    .value("SHDR",    static_cast<SIZES>(sizeof(Elf32_Shdr)))
    .value("PHDR",    static_cast<SIZES>(sizeof(Elf32_Phdr)))
    .value("SYM",     static_cast<SIZES>(sizeof(Elf32_Sym)))
    .value("REL",     static_cast<SIZES>(sizeof(Elf32_Rel)))
    .value("RELA",    static_cast<SIZES>(sizeof(Elf32_Rela)))
    .value("DYN",     static_cast<SIZES>(sizeof(Elf32_Dyn)))
    .value("VERNEED", static_cast<SIZES>(sizeof(Elf32_Verneed)))
    .value("VERNAUX", static_cast<SIZES>(sizeof(Elf32_Vernaux)))
    .value("AUXV",    static_cast<SIZES>(sizeof(Elf32_Auxv)))
    .value("VERDEF",  static_cast<SIZES>(sizeof(Elf32_Verdef)))
    .value("VERDAUX", static_cast<SIZES>(sizeof(Elf32_Verdaux)))
    .export_values();
}


void init_ELF64_sizes(py::module& m) {
  enum SIZES : size_t {};
  py::enum_<SIZES>(m, "SIZES")
    .value("ADDR",    static_cast<SIZES>(sizeof(Elf64_Addr)))
    .value("OFF",     static_cast<SIZES>(sizeof(Elf64_Off)))
    .value("HALF",    static_cast<SIZES>(sizeof(Elf64_Half)))
    .value("WORD",    static_cast<SIZES>(sizeof(Elf64_Word)))
    .value("SWORD",   static_cast<SIZES>(sizeof(Elf64_Sword)))
    .value("INT",     static_cast<SIZES>(sizeof(uint64_t)))
    .value("EHDR",    static_cast<SIZES>(sizeof(Elf64_Ehdr)))
    .value("SHDR",    static_cast<SIZES>(sizeof(Elf64_Shdr)))
    .value("PHDR",    static_cast<SIZES>(sizeof(Elf64_Phdr)))
    .value("SYM",     static_cast<SIZES>(sizeof(Elf64_Sym)))
    .value("REL",     static_cast<SIZES>(sizeof(Elf64_Rel)))
    .value("RELA",    static_cast<SIZES>(sizeof(Elf64_Rela)))
    .value("DYN",     static_cast<SIZES>(sizeof(Elf64_Dyn)))
    .value("VERNEED", static_cast<SIZES>(sizeof(Elf64_Verneed)))
    .value("VERNAUX", static_cast<SIZES>(sizeof(Elf64_Vernaux)))
    .value("AUXV",    static_cast<SIZES>(sizeof(Elf64_Auxv)))
    .value("VERDEF",  static_cast<SIZES>(sizeof(Elf64_Verdef)))
    .value("VERDAUX", static_cast<SIZES>(sizeof(Elf64_Verdaux)))
    .export_values();
}

}
}