root/src/subshell/subshell.h

/* [previous][next][first][last][top][bottom][index][help]  */

INCLUDED FROM


   1 /** \file subshell.h
   2  *  \brief Header: concurrent shell support
   3  */
   4 
   5 #ifndef MC__SUBSHELL_H
   6 #define MC__SUBSHELL_H
   7 
   8 /*** typedefs(not structures) and defined constants **********************************************/
   9 
  10 /*** enums ***************************************************************************************/
  11 
  12 /* State of the subshell; see subshell.c for an explanation */
  13 
  14 enum subshell_state_enum
  15 {
  16     INACTIVE,
  17     ACTIVE,
  18     RUNNING_COMMAND
  19 };
  20 
  21 /* For the 'how' argument to various functions */
  22 enum
  23 {
  24     QUIETLY,
  25     VISIBLY
  26 };
  27 
  28 /*** structures declarations (and typedefs of structures)*****************************************/
  29 
  30 /*** global variables defined in .c file *********************************************************/
  31 
  32 extern enum subshell_state_enum subshell_state;
  33 
  34 /* Holds the latest prompt captured from the subshell */
  35 extern GString *subshell_prompt;
  36 
  37 extern gboolean update_subshell_prompt;
  38 
  39 extern gboolean should_read_new_subshell_prompt;
  40 
  41 /*** declarations of public functions ************************************************************/
  42 
  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);
  52 
  53 /*** inline functions ****************************************************************************/
  54 
  55 #endif /* MC__SUBSHELL_H */

/* [previous][next][first][last][top][bottom][index][help]  */