Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Examples

The Contiki program loader
[Contiki system]


Detailed Description

The Contiki program loader is an abstract interface for loading and starting programs.


Files

file  loader.h
 Default definitions and error values for the Contiki program loader.

Modules

 ELF object code loader
 The Contiki ELF loader is able to load and relocate ELF object files.

Data Structures

struct  dsc
 The DSC program description structure. More...

Defines

#define DSC(dscname, description, prgname, process, icon)   const struct dsc dscname = {description, prgname, icon}
 Intantiating macro for the DSC structure.
#define DSC_HEADER(name)   extern struct dsc name;
#define NULL   0
#define LOADER_OK   0
 No error.
#define LOADER_ERR_READ   1
 Read error.
#define LOADER_ERR_HDR   2
 Header error.
#define LOADER_ERR_OS   3
 Wrong OS.
#define LOADER_ERR_FMT   4
 Data format error.
#define LOADER_ERR_MEM   5
 Not enough memory.
#define LOADER_ERR_OPEN   6
 Could not open file.
#define LOADER_ERR_ARCH   7
 Wrong architecture.
#define LOADER_ERR_VERSION   8
 Wrong OS version.
#define LOADER_ERR_NOLOADER   9
 Program loading not supported.
#define LOADER_LOAD(name, arg)   LOADER_ERR_NOLOADER
 Load and execute a program.
#define LOADER_UNLOAD()
 Unload a program from memory.
#define LOADER_LOAD_DSC(name)   NULL
 Load a DSC (program description).
#define LOADER_UNLOAD_DSC(dsc)
 Unload a DSC (program description).

The program description structure

The Contiki DSC structure is used for describing programs.

It includes a string describing the program, the name of the program file on disk (or a pointer to the programs initialization function for systems without disk support), a bitmap icon and a text version of the same icon.

The DSC is saved into a file which can be loaded by programs such as the "Directory" application which reads all DSC files on disk and presents the icons and descriptions in a window.


Define Documentation

#define DSC dscname,
description,
prgname,
process,
icon   )     const struct dsc dscname = {description, prgname, icon}
 

Intantiating macro for the DSC structure.

Parameters:
dscname The name of the C variable which is to contain the DSC.
description A one-line text describing the program.
prgname The name of the program on disk.
initfunc A pointer to the initialization function of the program.
icon A pointer to the CTK icon.

Definition at line 112 of file dsc.h.

#define LOADER_LOAD name,
arg   )     LOADER_ERR_NOLOADER
 

Load and execute a program.

This macro is used for loading and executing a program, and requires support from the architecture dependant code. The actual program loading is made by architecture specific functions.

Note:
A program loaded with LOADER_LOAD() must call the LOADER_UNLOAD() function to unload itself.
Parameters:
name The name of the program to be loaded.
arg A pointer argument that is passed to the program.
Returns:
A loader error, or LOADER_OK if loading was successful.

Definition at line 92 of file loader.h.

Referenced by PROCESS_THREAD().

#define LOADER_LOAD_DSC name   )     NULL
 

Load a DSC (program description).

Loads a DSC (program description) into memory and returns a pointer to the dsc.

Returns:
A pointer to the DSC or NULL if it could not be loaded.

Definition at line 116 of file loader.h.

 
#define LOADER_UNLOAD  ) 
 

Unload a program from memory.

This macro is used for unloading a program and deallocating any memory that was allocated during the loading of the program. This function must be called by the program itself.

Definition at line 104 of file loader.h.

#define LOADER_UNLOAD_DSC dsc   ) 
 

Unload a DSC (program description).

Unload a DSC from memory and deallocate any memory that was allocated when it was loaded.

Definition at line 126 of file loader.h.


Generated on Thu Jun 22 17:45:43 2006 for Contiki 2.x by  doxygen 1.4.4