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 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.

#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.

#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.

 
#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.

#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.


Generated on Fri Feb 3 17:44:06 2006 for Contiki 2.x by  doxygen 1.4.1