typedef struct tagInitParams { INT4 argc; // from filterParams CHAR *argv[]; // from filterParams INT8 startTime; // seconds since January 1, 1970 INT8 dataDuration; // length of data rounded up to nearest second REAL4 realtimeRatio; // from wrapperAPI command line } InitParams; typedef struct tagSearchParams { MPI_Comm *comm; // wrapper slave comm world MPIapiAction *action; // instruction from mpiAPI to search code } SearchParams; typedef struct tagMPIapiAction { INT4 add; // number of nodes added or subtracted BOOLEAN mpiAPIio; // command from mpiAPI: 0 exit, 1 continue } MPIapiAction; typedef struct tagSearchOutput { INT4 numOutput; // number of outPut structures in array outPut *result; // array of results REAL4 fracRemaining; // fraction of search remaining BOOLEAN notFinished; // 0 indicates that applySearch is finished } SearchOutput; INT4 initSearch ( CHAR **initStatus, InitParams *initParams ); INT4 conditionData ( CHAR **conditionStatus, inPut *data ); INT4 applySearch ( CHAR **searchStatus, inPut *input, SearchOutput *output, SearchParams *searchParams ); INT4 freeOutput ( CHAR **freeStatus, SearchOutput *output ); INT4 finalizeSearch ( CHAR **finalizeStatus, );