2 * \brief Header: concurrent shell support
8 /*** typedefs(not structures) and defined constants **********************************************/
10 /*** enums ***************************************************************************************/
12 /* State of the subshell; see subshell.c for an explanation */
14 enum subshell_state_enum
21 /* For the 'how' argument to various functions */
28 /*** structures declarations (and typedefs of structures)*****************************************/
30 /*** global variables defined in .c file *********************************************************/
32 extern enum subshell_state_enum subshell_state
;
34 /* Holds the latest prompt captured from the subshell */
35 extern GString
*subshell_prompt
;
37 extern gboolean update_subshell_prompt
;
39 extern gboolean should_read_new_subshell_prompt
;
41 /*** declarations of public functions ************************************************************/
43 void init_subshell (void);
44 int invoke_subshell (const char *command
, int how
, vfs_path_t
** new_dir
);
45 gboolean
flush_subshell (int max_wait_length
, int how
);
46 gboolean
read_subshell_prompt (void);
47 void do_update_prompt (void);
48 gboolean
exit_subshell (void);
49 void do_subshell_chdir (const vfs_path_t
* vpath
, gboolean update_prompt
);
50 void subshell_get_console_attributes (void);
51 void sigchld_handler (int sig
);
53 /*** inline functions ****************************************************************************/
55 #endif /* MC__SUBSHELL_H */