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:69
int timer_triggers_size
Definition environment.h:85
int reset_reactions_size
Definition environment.h:91
trigger_t ** timer_triggers
Definition environment.h:84
reaction_t ** startup_reactions
Definition environment.h:86
int startup_reactions_size
Definition environment.h:87
reaction_t ** reset_reactions
Definition environment.h:90
reaction_t ** shutdown_reactions
Definition environment.h:88
int shutdown_reactions_size
Definition environment.h:89
Definition lf_types.h:198
Definition lf_types.h:155
Definition lf_types.h:210
Time and tag definitions and functions for Lingua Franca.
int64_t instant_t
Definition tag.h:66