/* 
 * dsp_ic.h
 *
 *  Author: R. Firtion
 *  Copyright (c) 1995-2000 The MathWorks, Inc.
 *  $Revision: 1.2 $  $Date: 2000/03/10 02:09:14 $
 *
 * Abstract:
 *  Initial condition handler.
 */

#ifndef DSP_IC_H
#define DSP_IC_H

#include "dsp_ic_rt.h" /* run-time IC support */

typedef void (*CopyICsFcn)(const TMWDSP_CopyICsFcnArgs *args);

typedef struct {
    TMWDSP_CopyICsFcnArgs args;
    CopyICsFcn            fcn;
    int_T                 fcnIdx;
} CopyICsCache;

/* Error Checking function: */
extern void validateICs(SimStruct *S, const mxArray *ICs, const int_T portNum);

extern void initCopyICsFcn(
    SimStruct     *S,
    CopyICsCache  *ic_cache,
    const mxArray *ICs,
    int_T          dworkNum,
    int_T          portNum,
    int_T          nChans,
    int_T          fcnID
    );

#define COPY_THE_ICS(ic_cache) \
    (ic_cache.fcn)(&(ic_cache.args))


#endif /* DSP_IC_H */

/* [EOF] dsp_ic.h */
