# The "module" Package

These routines are meant to provide high level routines to perform initialisation and execution of generic modules.

Library: karma
Link With: -lkarma

#### Functions

module_run | Initialise and then run a generic module.
module_process_argvs | Process a shell command line.

## Functions

void module_run (int argc, char **argv, char *name_string, char *version_string, flag (*decode_func) (), int max_incoming, int max_outgoing, flag server)

Initialise and then run a generic module.

Parameters:

- argc : The number of command line arguments.
- argv : The command line arguments.
- name_string : The name of the module.
- version_string : The version date of the module.
- decode_func : The command line decode function. The prototype function is panel_PROTO_decode_func.
- max_incoming : The maximum number of incoming "multi_array" protocol connections. If this is less than 0, no connections are permitted. If this is 0, an unlimited number of connections is permitted.
- max_outgoing : The maximum number of outgoing "multi_array" protocol connections. If this is less than 0, no connections are permitted. If this is 0, an unlimited number of connections is permitted.
- server : If TRUE, the module can operate as a server (for at least one protocol).

Returns: Nothing. Upon return from the function, the module should exit.
Multithreading Level: Unsafe

void module_process_argvs ( int argc, char **argv, flag (*unknown_func) () )

This routine will process a shell command line, using the panel_process_command_with_stack routine.

Parameters:

- argc : The number of command line arguments.
- argv : The command line arguments. These do not include command used to execute the process ( cf. main() ).
- unknown_func : The function which is called when the command is not understood. The prototype function is panel_PROTO_decode_func.

Returns: Nothing.
Multithreading Level: Unsafe

Back to Karma Home Page