#ifndef __c3_flyback_openloop_h__
#define __c3_flyback_openloop_h__

/* Include files */
#include "sf_runtime/sfc_sf.h"
#include "sf_runtime/sfc_mex.h"
#include "rtwtypes.h"
#include "multiword_types.h"

/* Type Definitions */
#ifndef typedef_SFc3_flyback_openloopInstanceStruct
#define typedef_SFc3_flyback_openloopInstanceStruct

typedef struct {
  SimStruct *S;
  ChartInfoStruct chartInfo;
  uint32_T chartNumber;
  uint32_T instanceNumber;
  int32_T c3_sfEvent;
  uint8_T c3_tp_charging;
  uint8_T c3_tp_discharging;
  boolean_T c3_isStable;
  boolean_T c3_stateChanged;
  real_T c3_lastMajorTime;
  uint8_T c3_is_active_c3_flyback_openloop;
  uint8_T c3_is_c3_flyback_openloop;
  real_T c3_bounds;
  real_T c3_D;
  real_T c3_T;
  real_T c3_a12o;
  real_T c3_a22c;
  real_T c3_tmax;
  real_T c3_Vref;
  real_T c3_a21o;
  real_T c3_b1c;
  real_T c3_a22o;
  real_T c3_Vin;
  boolean_T c3_dataWrittenToVector[11];
  uint8_T c3_doSetSimStateSideEffects;
  const mxArray *c3_setSimStateSideEffectsInfo;
  real_T *c3_il_out;
  real_T *c3_il;
  real_T *c3_vc_out;
  real_T *c3_vc;
  real_T *c3_t_out;
  real_T *c3_t;
  real_T *c3_gt_out;
  real_T *c3_gt;
  real_T *c3_mode_out;
  real_T *c3_mode;
  real_T *c3_flyback_openloop_location;
} SFc3_flyback_openloopInstanceStruct;

#endif                                 /*typedef_SFc3_flyback_openloopInstanceStruct*/

/* Named Constants */

/* Variable Declarations */
extern struct SfDebugInstanceStruct *sfGlobalDebugInstanceStruct;

/* Variable Definitions */

/* Function Declarations */
extern const mxArray *sf_c3_flyback_openloop_get_eml_resolved_functions_info
  (void);

/* Function Definitions */
extern void sf_c3_flyback_openloop_get_check_sum(mxArray *plhs[]);
extern void c3_flyback_openloop_method_dispatcher(SimStruct *S, int_T method,
  void *data);

#endif
