# Creating GILDAS Tasks

GILDAS tasks (e.g. for task “taskname”) are composed of 4 different parts :

- The program, taskname.exe.
- A help text file, taskname.hlp
- The initialization file, taskname.init, read by commands RUN and SUBMIT to get from the user the task input parameters.
- Optionally, a checker file, taskname.check, read by commands RUN and SUBMIT, to check the input parameters and pass them to the task. It is optional: SIC will use a suitable default derived from the initialisation file when the checker file does not exist.

Tasks and their associated files are searched for in the task#dir: search path (by default “./;gag_tasks:”).

The structure of the program should always be the same :

- An input parameters definition part. No image creation or access should be made before all parameters are defined.
- An input and output image mapping part. If possible all necessary images should be defined in this part.
- One or more subroutines performing the processing. No new image should be created or accessed in the subroutines. The subroutines should preferably not make any reference to any common.
- A cleanup part. An error status should be returned to the system in case of error through a call to SYSEXI.