# block functions

A set of OML interfacing functions and a set of C or OML simulation functions that are part of the definition of a basic block.

Interfacing functions are called during model evaluation and compilation, but not during simulation. These functions instantiate a block’s simulation structure. In particular, based on block parameters, interfacing functions specify block simulation parameters, states, choice of simulation function, and types and sizes of block ports. A .oml file, which includes the interfacing functions, is generated automatically from the information in a block’s .scb file.

Simulation functions are generally written in C, but can be OML functions also. Only one simulation function is designated when a block’s simulation structure is instantiated. This function defines the behavior of a block such as computing outputs and states during a simulation.