Merge branch 't/resample'
[paraslash.git] / interactive.h
index 93ee56c7fb7d833a7c3dac514d2b04f24f70ca5c..8e436755bef81d726a1ed1a71dcd2f4a0fea8231 100644 (file)
@@ -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,...);