X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=interactive.h;h=1d6b36aa1a57e87e2c61283a21627e0ab2271064;hp=93ee56c7fb7d833a7c3dac514d2b04f24f70ca5c;hb=9d75ded33ce6664156acb07e311f51d55970bbea;hpb=c31982b09dda5aa556455e13ee5aa1adf66e9da4 diff --git a/interactive.h b/interactive.h index 93ee56c7..1d6b36aa 100644 --- a/interactive.h +++ b/interactive.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2012 Andre Noll + * Copyright (C) 2011-2013 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -59,6 +59,10 @@ struct i9e_client_info { int loglevel; /** Complete input lines are passed to this callback function. */ int (*line_handler)(char *line); + /** In single key mode, this callback is executed instead. */ + int (*key_handler)(int key); + /** The array of valid key sequences for libreadline. */ + char **bound_keyseqs; /** File descriptors to use for input/output/log. */ int fds[3]; /** Text of the current prompt. */ @@ -71,10 +75,16 @@ struct i9e_client_info { * completer if the cursor is not on the first word. */ struct i9e_completer *completers; + /** + * If non-NULL, this node is attached immediately to the stdout btr + * node of the i9e subsystem. + */ + struct btr_node *producer; }; int i9e_open(struct i9e_client_info *ici, struct sched *s); void i9e_attach_to_stdout(struct btr_node *producer); +void ie9_print_status_bar(char *buf, unsigned len); void i9e_close(void); void i9e_signal_dispatch(int sig_num); __printf_2_3 void i9e_log(int ll, const char* fmt,...);