Subversion Repositories freemyipod

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
90 theseven 1
//
2
//
453 theseven 3
//    Copyright 2011 TheSeven
90 theseven 4
//
5
//
427 farthen 6
//    This file is part of emCORE.
90 theseven 7
//
427 farthen 8
//    emCORE is free software: you can redistribute it and/or
90 theseven 9
//    modify it under the terms of the GNU General Public License as
10
//    published by the Free Software Foundation, either version 2 of the
11
//    License, or (at your option) any later version.
12
//
427 farthen 13
//    emCORE is distributed in the hope that it will be useful,
90 theseven 14
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
15
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
//    See the GNU General Public License for more details.
17
//
18
//    You should have received a copy of the GNU General Public License along
427 farthen 19
//    with emCORE.  If not, see <http://www.gnu.org/licenses/>.
90 theseven 20
//
21
//
22
 
23
 
24
#ifndef __EXECIMAGE_H__
25
#define __EXECIMAGE_H__
26
 
27
 
453 theseven 28
#ifdef _TOOL
29
#include <stdint.h>
30
#else
90 theseven 31
#include "global.h"
453 theseven 32
#include "thread.h"
33
#endif
90 theseven 34
 
35
 
453 theseven 36
#define EMCOREAPP_HEADER_VERSION 1
37
struct emcoreapp_header
90 theseven 38
{
453 theseven 39
	char signature[8];
40
	uint32_t version;
41
    off_t textstart;
42
    size_t textsize;
43
    size_t bsssize;
44
    size_t stacksize;
45
	off_t entrypoint;
46
	off_t relocstart;
47
	uint32_t reloccount;
48
	uint32_t flags;
49
    uint32_t creationtime;
90 theseven 50
};
51
 
453 theseven 52
#define EMCOREAPP_FLAG_COMPRESSED 0x00000001
465 theseven 53
#define EMCOREAPP_FLAG_LIBRARY    0x00000002
90 theseven 54
 
55
 
453 theseven 56
#ifndef _TOOL
57
struct scheduler_thread* execimage(void* image, bool copy);
58
#endif
90 theseven 59
 
453 theseven 60
 
90 theseven 61
#endif