GEL  0.99
gel_types_plugin.h
Go to the documentation of this file.
1 /*
2  * $Id$
3  *
4  * This file is part of the GEL library.
5  * Copyright (c) 2005-08, IRIT- UPS
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21 #ifndef GEL_TYPES_PLUGIN_H_
22 #define GEL_TYPES_PLUGIN_H_
23 
24 #include <gel/common.h>
25 #include <gel/image.h>
26 #include <gel/types.h>
27 
29 
30 /* sys_plugin_t type */
31 typedef struct sys_plugin_s {
34  void *dlh;
35  gel_block_t **(*plug_image_map) (gel_env_t *env, gel_file_t *f,
36  gel_file_t **tab, u32_t *num);
37  int (*plug_image_load) (gel_env_t *env, gel_block_t **tab, u32_t num,
38  vaddr_t* stack_pointer);
40 
41 
42 /* arch_plugin_t type */
43 typedef struct arch_plugin_s {
47  void *dlh;
48  int (*plug_do_reloc)(gel_image_t *r, int flags);
52 
53 
61  int endianness;
62  int float_type;
63  int refcount;
66 };
67 
74 struct gel_block_s {
83 };
84 
86 
87 #endif /*GEL_TYPES_PLUGIN_H_*/
#define __END_DECLS
Definition: common.h:29
#define __BEGIN_DECLS
Definition: common.h:28
__BEGIN_DECLS struct sys_plugin_s sys_plugin_t
struct arch_plugin_s arch_plugin_t
struct gel_memory_cluster_s gel_memory_cluster_t
Definition: image.h:77
struct gel_image_s gel_image_t
Definition: image.h:75
Definition: gel_types_plugin.h:43
u8_t version
Definition: gel_types_plugin.h:45
u32_t psize
Definition: gel_types_plugin.h:50
u32_t align
Definition: gel_types_plugin.h:49
u16_t machine
Definition: gel_types_plugin.h:44
u8_t stack_align
Definition: gel_types_plugin.h:46
int(* plug_do_reloc)(gel_image_t *r, int flags)
Definition: gel_types_plugin.h:48
void * dlh
Definition: gel_types_plugin.h:47
Definition: gel_types_plugin.h:74
vaddr_t exec_begin
Definition: gel_types_plugin.h:79
vaddr_t base_vaddr
Definition: gel_types_plugin.h:78
u8_t * data
Definition: gel_types_plugin.h:76
gel_memory_cluster_t * cluster
Definition: gel_types_plugin.h:81
gel_file_t * container
Definition: gel_types_plugin.h:75
u32_t exec_size
Definition: gel_types_plugin.h:80
raddr_t base_raddr
Definition: gel_types_plugin.h:77
gel_platform_t * plat
Definition: gel_types_plugin.h:82
Definition: image.h:54
Definition: file.h:31
Definition: gel_types_plugin.h:58
u16_t machine
Definition: gel_types_plugin.h:59
int float_type
Definition: gel_types_plugin.h:62
int endianness
Definition: gel_types_plugin.h:61
sys_plugin_t * sys
Definition: gel_types_plugin.h:64
arch_plugin_t * arch
Definition: gel_types_plugin.h:65
int refcount
Definition: gel_types_plugin.h:63
u8_t system
Definition: gel_types_plugin.h:60
Definition: gel_types_plugin.h:31
int(* plug_image_load)(gel_env_t *env, gel_block_t **tab, u32_t num, vaddr_t *stack_pointer)
Definition: gel_types_plugin.h:37
void * dlh
Definition: gel_types_plugin.h:34
u8_t system
Definition: gel_types_plugin.h:32
u8_t version
Definition: gel_types_plugin.h:33
__BEGIN_DECLS typedef uint16_t u16_t
Definition: types.h:30
uint32_t u32_t
Definition: types.h:32
uint8_t u8_t
Definition: types.h:34
uint32_t vaddr_t
Definition: types.h:36
void * raddr_t
Definition: types.h:37