int spk_serial_out(const char ch) { if (synth->alive && spk_wait_for_xmitr()) { outb_p(ch, speakup_info.port_tts); return 1; } return 0; }
int spk_synth_is_alive_restart(struct spk_synth *synth) { if (synth->alive) return 1; if (!synth->alive && spk_wait_for_xmitr() > 0) { /* restart */ synth->alive = 1; synth_printf("%s", synth->init); return 2; /* reenabled */ } pr_warn("%s: can't restart synth\n", synth->long_name); return 0; }
const char *spk_synth_immediate(struct spk_synth *synth, const char *buff) { u_char ch; while ((ch = *buff)) { if (ch == '\n') ch = synth->procspeech; if (spk_wait_for_xmitr()) outb(ch, speakup_info.port_tts); else return buff; buff++; } return 0; }