l4loader::app Interface Reference

IDL Interface for the loader module. More...

import "loader.idl";


Public Member Functions

long open ([in] l4dm_dataspace_t img_ds,[in, string] char *fname,[in] l4_threadid_t fprov,[in] unsigned long flags,[out, max_is(MAX_TASK_ID)] l4_taskid_t task_ids[],[out, string, prealloc_client] char **error_msg)
 Load application(s) using a config script or by path name.
long cont ([in] l4_taskid_t taskid)
 Continue task which was not completely started.
long kill ([in] l4_taskid_t task_id,[in] unsigned long flags)
 Kill task.
long dump ([in] unsigned long task_id,[in] unsigned long flags)
 Dump task info.
long info ([in] unsigned long task_id,[in] unsigned long flags,[out, string, prealloc_client] char **fname,[out] l4dm_dataspace_t *l4env_page)
 Get task info.


Detailed Description

IDL Interface for the loader module.


Member Function Documentation

long l4loader::app::open ( [in] l4dm_dataspace_t  img_ds,
[in, string] char *  fname,
[in] l4_threadid_t  fprov,
[in] unsigned long  flags,
[out, max_is(MAX_TASK_ID)] l4_taskid_t  task_ids[],
[out, string, prealloc_client] char **  error_msg 
)

Load application(s) using a config script or by path name.

If img_ds != L4DM_INVALID_DATASPACE then use the dataspace as binary/script else get the binary/script from the file provider denoted by fprov.

The loader interpretes the script and executes the included commands. See p_script for a description of the script syntax. If the file can be interpreted by the exec layer it is started directly. If not, it is interpreted as a config script.

Parameters:
img_ds Dataspace containing the script or binary. If this parameter is L4DM_INVALID_DATASPACE request file fname from file provider frov.
fname File name. If img_ds is used this parameter is only used for debugging.
fprov id of default file provider.
flags flags, set to L4LOADER_STOP if the load process should stop just before the task is really started. Use cont() to complete the load process.
Return values:
task_ids Task identifiers of started tasks. The maximum number of entries is MAX_TASK_ID. The first unused entry of that array contains L4_INVALID_ID.
error_msg Error message (helps debugging)
Returns:
0 on success

long l4loader::app::cont ( [in] l4_taskid_t  taskid  ) 

Continue task which was not completely started.

Parameters:
taskid ID of the task to continue.

long l4loader::app::kill ( [in] l4_taskid_t  task_id,
[in] unsigned long  flags 
)

Kill task.

The task must have been loaded by the Loader. This function is called by the event listener thread and must not called by any other thread.

Parameters:
task_id id of task to terminate
flags flags
Returns:
0 on success

long l4loader::app::dump ( [in] unsigned long  task_id,
[in] unsigned long  flags 
)

Dump task info.

Print out task info for the task to L4 debugging console. Only useful for debugging purposes.

Parameters:
task_id id of task to dump
flags flags
Returns:
0 on success

long l4loader::app::info ( [in] unsigned long  task_id,
[in] unsigned long  flags,
[out, string, prealloc_client] char **  fname,
[out] l4dm_dataspace_t *  l4env_page 
)

Get task info.

Return an L4 infopage for the specified task.

Parameters:
task_id id of task to get info from
flags flags
Return values:
fname application name
l4env_page l4env_infopage of process
Returns:
0 on success


The documentation for this interface was generated from the following file:

L4 Loader Reference Manual, part of DROPS  © 2000-2003