Specify the number of discrete states that a block has
void ssSetNumDiscStates(SimStruct *S, int_T nDiscStates)
Use in mdlInitializeSizes to specify the number of discrete states as 0, a positive integer, or DYNAMICALLY_SIZED. If you specify DYNAMICALLY_SIZED, you can specify the true (positive integer) width in mdlSetWorkWidths; otherwise, the width used is the width of the signal passing through the block. If your S-function has discrete states, it should return the next discrete state (in place) in mdlUpdate. Discrete states are logged if the States option is selected on the Data Import/Export page of the Configuration Parameters dialog box.