How can I tell the difference between C programs built as native IRAF tasks and those built as host-level tasks?
The way to tell the difference between C programs compiled as native IRAF tasks and those which have been compiled as host-level tasks is to look at the entry level routine for the task. If the task is a C native IRAF task, the entry level routine will have the macro IRAFTASK(taskname) instead of int main(int argc, char **argv). The entry routine might look the following: # include < stdio.h> # include < c_iraf.h> /* This is the entry level routine for C task BLEE */ IRAFTASK(blee) { … C code here … } However, there are C tasks in the STSDAS system which were originally designed to be compiled as either native IRAF or host-level tasks. This is not practical and is not a recommended technique for new tasks. These older tasks will have the following in the entry level routine: # include < stdio.h> # include < c_iraf.h> /* This is the entry level routine for C task BLEE */ /* Set up for native or host-level task */ # if defined (NATIVE_IRAF) IRAFTASK (blee) { # else in