TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
Fonctions
Référence du fichier elf.c

Bibliothèque destinée à manipuler les fichiers exécutables ELF. Plus de détails...

#include <elf.h>
#include <kmalloc.h>
#include <kunistd.h>
#include <fd_types.h>
#include <klibc/string.h>
Graphe des dépendances par inclusion de elf.c:

Fonctions

int load_program_header (Elf32_Phdr *program_header, Elf32_Ehdr *elf_header, int index, int fd)
 charge un program header depuis un fichier elf Charge le program header n°index depuis le fichier Plus de détails...
 
unsigned long int elf_size (int fd)
 Calcul la taille que prendra l'exécutable dans la mémoire La fonction évalue l'adresse de départ en mémoire, et l'adresse de fin, et retourne la différence (il n'est pas suffisant d'additionner les tailles des différentes sections) Plus de détails...
 
int load_elf (int fd, void *dest)
 charge un fichier elf Charge les données utiles de l'exécutable en mémoire, de façon à ce que ce soit pret à exécuter Plus de détails...
 
Elf32_Fileload_elf_file (int fd)
 charge un fichier elf dans la structure Elf32_File Plus de détails...
 
Elf32_Symfind_symbol (Elf32_File *file, const char *symbol)
 Trouve un symbole dans un fichier. Plus de détails...
 

Description détaillée

Auteur
TacOS developers

LICENSE

Copyright (C) 2010-2014 TacOS developers.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details at http://www.gnu.org/copyleft/gpl.html

You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses.

DESCRIPTION

Documentation des fonctions

unsigned long int elf_size ( int  fd)
Paramètres
fddescripteur du fichier elf
Renvoie
taille prise initialement par l'exécutable en mémoire

Voici le graphe des appelants de cette fonction :

Elf32_Sym* find_symbol ( Elf32_File file,
const char *  symbol 
)
Paramètres
fileFichier dans lequel on recherche le symbole
symbolSymbole cherché
Renvoie
symbole recherché

Voici le graphe d'appel pour cette fonction :

int load_elf ( int  fd,
void *  dest 
)
Paramètres
fddescripteur du fichier à charger
destadresse à laquelle il faut charger l'exécutable
Renvoie
adresse du point d'entrée de l'exécutable

Voici le graphe des appelants de cette fonction :

Elf32_File* load_elf_file ( int  fd)
Paramètres
fdFile descriptor du fichier à charger.
Renvoie
pointeur vers une structure Elf32_file chargée, NULL en cas d'échec

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

int load_program_header ( Elf32_Phdr program_header,
Elf32_Ehdr elf_header,
int  index,
int  fd 
)
Paramètres
program_headeradresse où l'on veut charger le header
elf_headerheader principal du fichier
indexnumero du program header à charger
fddescripteur du fichier à charger
Renvoie
0 si succès, -1 sinon