69#define _LF_SET_MODE_WITH_TYPE(mode, change_type) \
71 ((self_base_t*)self)->_lf__mode_state.next_mode = mode; \
72 ((self_base_t*)self)->_lf__mode_state.mode_change = change_type; \
82typedef struct reactor_mode_state_t reactor_mode_state_t;
85typedef struct mode_state_variable_reset_data_t mode_state_variable_reset_data_t;
88typedef enum { no_transition, reset_transition, history_transition } lf_mode_change_type_t;
92 reactor_mode_state_t* state;
99struct reactor_mode_state_t {
104 lf_mode_change_type_t mode_change;
107struct mode_state_variable_reset_data_t {
124void _lf_initialize_mode_states(
environment_t* env, reactor_mode_state_t* states[],
int states_size);
125void _lf_process_mode_changes(
environment_t* env, reactor_mode_state_t* states[],
int states_size,
126 mode_state_variable_reset_data_t reset_data[],
int reset_data_size,
128void _lf_add_suspended_event(
event_t* event);
Type definitions that are widely used across different parts of the runtime.
void reactor_mode_t
Definition modes.h:142
Execution environment. This struct contains information about the execution environment....
Definition environment.h:49
int timer_triggers_size
Definition environment.h:65
int reset_reactions_size
Definition environment.h:71
trigger_t ** timer_triggers
Definition environment.h:64
reaction_t ** startup_reactions
Definition environment.h:66
int startup_reactions_size
Definition environment.h:67
reaction_t ** reset_reactions
Definition environment.h:70
reaction_t ** shutdown_reactions
Definition environment.h:68
int shutdown_reactions_size
Definition environment.h:69
Definition lf_types.h:196
Definition lf_types.h:155
Definition lf_types.h:208
Time and tag definitions and functions for Lingua Franca.
int64_t instant_t
Definition tag.h:66