FreeNOS
lib
libexec
ExecutableFormat.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2009 Niek Linnenbank
3
*
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation, either version 3 of the License, or
7
* (at your option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#include <
Macros.h
>
19
#include "
ExecutableFormat.h
"
20
#include "
ELF.h
"
21
22
ExecutableFormat::ExecutableFormat
(
const
u8
*image,
const
Size
size)
23
: m_image(image)
24
, m_size(size)
25
{
26
}
27
28
ExecutableFormat::~ExecutableFormat
()
29
{
30
}
31
32
ExecutableFormat::Result
ExecutableFormat::find
(
const
u8
*image,
33
const
Size
size,
34
ExecutableFormat
**fmt)
35
{
36
return
ELF::detect
(image, size, fmt);
37
}
ELF::detect
static Result detect(const u8 *image, const Size size, ExecutableFormat **fmt)
Read ELF header from memory.
Definition:
ELF.cpp:30
ExecutableFormat.h
Macros.h
ExecutableFormat::ExecutableFormat
ExecutableFormat(const u8 *image, const Size size)
Class constructor.
Definition:
ExecutableFormat.cpp:22
ExecutableFormat::find
static Result find(const u8 *image, const Size size, ExecutableFormat **fmt)
Find a ExecutableFormat which can handle the given format.
Definition:
ExecutableFormat.cpp:32
ExecutableFormat::Result
Result
Result code.
Definition:
ExecutableFormat.h:68
Size
unsigned int Size
Any sane size indicator cannot go negative.
Definition:
Types.h:128
u8
unsigned char u8
Unsigned 8-bit number.
Definition:
Types.h:59
ExecutableFormat::~ExecutableFormat
virtual ~ExecutableFormat()
Class destructor.
Definition:
ExecutableFormat.cpp:28
ExecutableFormat
Abstraction class of various executable formats.
Definition:
ExecutableFormat.h:48
ELF.h
Generated by
1.8.17