DSPROC_OBJECT(3)

FUNCTION
dsproc_object - Process a Karma file.

SYNOPSIS
#include <karma_dsproc.h>

void dsproc_object

(CONST char *object, char *array_names[], unsigned int num_arrays, flag save_unproc_data, flag (*pre_process) (), flag (*process_array) (), flag (*post_process) (), unsigned int mmap_option)

DESCRIPTION
Process a Karma file.

object
    The name of the Karma file to process. This is passed directly to <-dsxfr_get_multi->. If this name is "connection" or is of the form: "connection[#]" then the routine will attempt to find data sent from a network connection using the "multi_array" protocol and will also send the resultant information down any network connections.

array_names
    The array names (general data structures) which are to be processed.

num_arrays
    The number of array names supplied. If this is 0, all array names are processed.

save_unproc_data
    If TRUE, then arrays with names which do not match are copied, rather than ignored.

pre_process
    The function which will process the input file prior to any general data structures being processed. The prototype function is <-dsproc_PROTO_pre_process->. If this returns FALSE further processing is aborted.

process_array
    The function which is called to process each general data structure. The prototype function is <-dsproc_PROTO_process_array->.

post_process
    The function which is called to process the multi_array descriptors prior to the output being saved/transmitted. The prototype function is <-dsproc_PROTO_post_process->. This routine will usually add history information and copy over history information from the input array.

mmap_option
    This is passed directly to the <-dsxfr_get_multi-> routine. If the input data structure is likely to be modified, this value must be K_CH_MAP_NEVER, otherwise the data may be read-only memory mapped and writing to it will cause a segmentation fault. In addition, the <<cache>> parameter for <-dsxfr_get_multi-> is set to TRUE.

RETURN VALUE
Nothing.

Multi-threading Level
Unsafe.

AUTHOR
Richard Gooch (rgooch@atnf.csiro.au)

AVAILABLITY
The Karma Distribution is available for anonymous ftp from: ftp://ftp.atnf.csiro.au/pub/software/karma/ ftp://wuarchive.wustl.edu/graphics/graphics/packages/karma/ ftp://ftp.pwr.wroc.pl/pub/karma/ The Karma Home Page is: http://www.atnf.csiro.au/karma/