/* Represents each of the text cells in the terminal screen */
typedef struct RoteCell_ {
- unsigned char ch; /* >= 32, that is, control characters are not
+ unsigned int ch; /* >= 32, that is, control characters are not
* allowed to be on the virtual screen */
unsigned char attr; /* a color attribute, as described previously */
void rote_vt_forsake_child(RoteTerm *rt);
int rote_vt_read(RoteTerm *rt, char *buf, int buflen);
-
-/* Puts data into the terminal: if there is a forked process running,
- * the data will be sent to it. If there is no forked process,
- * the data will simply be injected into the terminal (as in
- * rote_vt_inject) */
-void rote_vt_write(RoteTerm *rt, const char *data, int length);
+int rote_vt_write(RoteTerm *rt, const char *data, int length);
/* Inject data into the terminal. <data> needs NOT be 0-terminated:
* its length is solely determined by the <length> parameter. Please
* running in the terminal (if any). For that, you might want
* to use rote_vt_write.
*/
-void rote_vt_inject(RoteTerm *rt, const char *data, int length);
+int rote_vt_inject(RoteTerm *rt, const char *data, int length);
#ifdef USE_NCURSES
/* Paints the virtual terminal screen on the given window, putting