#ifndef __c17_diffserv_model_h__
#define __c17_diffserv_model_h__

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

/* Type Definitions */
#ifndef typedef_SFc17_diffserv_modelInstanceStruct
#define typedef_SFc17_diffserv_modelInstanceStruct

typedef struct {
  SimStruct *S;
  ChartInfoStruct chartInfo;
  uint32_T chartNumber;
  uint32_T instanceNumber;
  int32_T c17_sfEvent;
  boolean_T c17_isStable;
  boolean_T c17_doneDoubleBufferReInit;
  uint8_T c17_is_active_c17_diffserv_model;
  real_T c17_prioritization;
  real_T c17_weighting;
  real_T c17_Q1_weight;
  real_T c17_Q2_weight;
  real_T c17_Q3_weight;
  real_T c17_preemption;
  real_T c17_workConservation;
  real_T *c17_Q_before_expediting_address;
  int32_T c17_Q_before_expediting_index;
  boolean_T *c17_current_Q_finished_address;
  int32_T c17_current_Q_finished_index;
  real_T *c17_last_Q_served_address;
  int32_T c17_last_Q_served_index;
  boolean_T *c17_last_was_expedited_address;
  int32_T c17_last_was_expedited_index;
  real_T *c17_packets_served_address;
  int32_T c17_packets_served_index;
} SFc17_diffserv_modelInstanceStruct;

#endif                                 /*typedef_SFc17_diffserv_modelInstanceStruct*/

/* Named Constants */

/* Variable Declarations */

/* Variable Definitions */

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

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

#endif
