Contiki 2.5
Data Structures | Macros | Functions | Variables
elfloader-otf.h File Reference

    Header file for the Contiki ELF loader.
More...

#include "cfs/cfs.h"

Go to the source code of this file.

Data Structures

struct  elfloader_output
 elfloader output object More...
 

Macros

#define ELFLOADER_OK   0
 Return value from elfloader_load() indicating that loading worked.
 
#define ELFLOADER_BAD_ELF_HEADER   1
 Return value from elfloader_load() indicating that the ELF file had a bad header.
 
#define ELFLOADER_NO_SYMTAB   2
 Return value from elfloader_load() indicating that no symbol table could be find in the ELF file.
 
#define ELFLOADER_NO_STRTAB   3
 Return value from elfloader_load() indicating that no string table could be find in the ELF file.
 
#define ELFLOADER_NO_TEXT   4
 Return value from elfloader_load() indicating that the size of the .text segment was zero.
 
#define ELFLOADER_SYMBOL_NOT_FOUND   5
 Return value from elfloader_load() indicating that a symbol specific symbol could not be found. More...
 
#define ELFLOADER_SEGMENT_NOT_FOUND   6
 Return value from elfloader_load() indicating that one of the required segments (.data, .bss, or .text) could not be found.
 
#define ELFLOADER_NO_STARTPOINT   7
 Return value from elfloader_load() indicating that no starting point could be found in the loaded module.
 
#define ELFLOADER_UNHANDLED_RELOC   8
 Return value from elfloader_load() indicating that the ELF file contained a relocation type that the implementation can't handle.
 
#define ELFLOADER_OUTOF_RANGE   9
 Return value from elfloader_load() indicating that the offset for a relative addressing mode was too big.
 
#define ELFLOADER_RELOC_NOT_SORTED   10
 Return value from elfloader_load() indicating that the relocations where not sorted by offset.
 
#define ELFLOADER_INPUT_ERROR   11
 Return value from elfloader_load() indicating that reading from the ELF file failed in some way.
 
#define ELFLOADER_OUTPUT_ERROR   12
 Return value from elfloader_load() indicating that writing to a segment failed.
 

Functions

void * elfloader_allocate_segment (struct elfloader_output *output, unsigned int type, int size)
 Allocate a new segment. More...
 
int elfloader_start_segment (struct elfloader_output *output, unsigned int type, void *addr, int size)
 Start writing to a new segment. More...
 
int elfloader_end_segment (struct elfloader_output *output)
 Mark end of segment. More...
 
int elfloader_write_segment (struct elfloader_output *output, const char *buf, unsigned int len)
 Write data to a segment. More...
 
unsigned int elfloader_segment_offset (struct elfloader_output *output)
 Get the current offset in the file where the next data will be written. More...
 
void elfloader_init (void)
 elfloader initialization function. More...
 
int elfloader_load (int input_fd, struct elfloader_output *output)
 Load and relocate an ELF file. More...
 

Variables

struct process ** elfloader_autostart_processes
 A pointer to the processes loaded with elfloader_load().
 
char elfloader_unknown [30]
 If elfloader_load() could not find a specific symbol, it is copied into this array.
 

Detailed Description

    Header file for the Contiki ELF loader.
Author
Adam Dunkels adam@.nosp@m.sics.nosp@m..se Simon Berg ksb@u.nosp@m.sers.nosp@m..sour.nosp@m.cefo.nosp@m.rge.n.nosp@m.et

Definition in file elfloader-otf.h.