/* * Interface for OSQP signal handling. */ #ifndef CTRLC_H # define CTRLC_H # ifdef __cplusplus extern "C" { # endif // ifdef __cplusplus # include "glob_opts.h" # if defined MATLAB /* No header file available here; define the prototypes ourselves */ bool utIsInterruptPending(void); bool utSetInterruptEnabled(bool); # elif defined IS_WINDOWS /* Use Windows SetConsoleCtrlHandler for signal handling */ # include # else // if defined MATLAB /* Use sigaction for signal handling on non-Windows machines */ # include # endif // if defined MATLAB /* METHODS are the same for both */ /** * Start listener for ctrl-c interrupts */ void osqp_start_interrupt_listener(void); /** * End listener for ctrl-c interrupts */ void osqp_end_interrupt_listener(void); /** * Check if the solver has been interrupted * @return Boolean indicating if the solver has been interrupted */ int osqp_is_interrupted(void); # ifdef __cplusplus } # endif // ifdef __cplusplus #endif /* END IFDEF CTRLC */