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

The Contiki program loader


Detailed Description

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


Data Structures

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


Defines

#define DSC(dscname, description, prgname, initfunc, icon)   const struct dsc dscname = {description, prgname, icon}
 Intantiating macro for the DSC structure.

#define LOADER_OK   0 /**< No error. */
 No error.

#define LOADER_ERR_READ   1 /**< Read error. */
 Read error.

#define LOADER_ERR_HDR   2 /**< Header error. */
 Header error.

#define LOADER_ERR_OS   3 /**< Wrong OS. */
 Wrong OS.

#define LOADER_ERR_FMT   4 /**< Data format error. */
 Data format error.

#define LOADER_ERR_MEM   5 /**< Not enough memory. */
 Not enough memory.

#define LOADER_ERR_OPEN   6 /**< Could not open file. */
 Could not open file.

#define LOADER_ERR_ARCH   7 /**< Wrong architecture. */
 Wrong architecture.

#define LOADER_ERR_VERSION   8 /**< Wrong OS version. */
 Wrong OS version.

#define LOADER_ERR_NOLOADER   9 /**< Program loading not supported. */
 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,
initfunc,
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 Wed Jul 6 01:19:05 2005 for Contiki/ESB by doxygen 1.3.6