check_user_input (p_state thread_local_state, p_string user_input)
{
  ERR_* alarm, 
  user_input_checker_state uic_state = .;

  do (&alarm, () {
                   ...
                 }, (p_exception_record xc) {
                                              ...
                                            });

  return (!alarm) ? 1 : 0;
}
/
{
  ...
}
