GDB (xrefs)
Classes | Macros | Enumerations | Functions | Variables
/tmp/gdb-7.10/gdb/inflow.c File Reference
#include "defs.h"
#include "frame.h"
#include "inferior.h"
#include "command.h"
#include "serial.h"
#include "terminal.h"
#include "target.h"
#include "gdbthread.h"
#include "observer.h"
#include <signal.h>
#include <fcntl.h>
#include "gdb_select.h"
#include "inflow.h"
#include "gdbcmd.h"
#include <sys/ioctl.h>

Go to the source code of this file.

Classes

struct  terminal_info
 

Macros

#define O_NOCTTY   0
 
#define OOPSY(what)
 
#define O_ACCMODE   (O_RDONLY | O_WRONLY | O_RDWR)
 

Enumerations

enum  { yes, no, have_not_checked }
 

Functions

void _initialize_inflow (void)
 
static void pass_signal (int)
 
static void child_terminal_ours_1 (int)
 
static struct terminal_infoget_inflow_inferior_data (struct inferior *)
 
PROCESS_GROUP_TYPE inferior_process_group (void)
 
static PROCESS_GROUP_TYPE gdb_getpgrp (void)
 
static void show_interactive_mode (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
void set_initial_gdb_ttystate (void)
 
int gdb_has_a_terminal (void)
 
void child_terminal_init_with_pgrp (int pgrp)
 
void gdb_save_tty_state (void)
 
void child_terminal_init (struct target_ops *self)
 
void child_terminal_inferior (struct target_ops *self)
 
void child_terminal_ours_for_output (struct target_ops *self)
 
void child_terminal_ours (struct target_ops *self)
 
static void inflow_inferior_data_cleanup (struct inferior *inf, void *arg)
 
static void inflow_inferior_exit (struct inferior *inf)
 
void copy_terminal_info (struct inferior *to, struct inferior *from)
 
void term_info (char *arg, int from_tty)
 
void child_terminal_info (struct target_ops *self, const char *args, int from_tty)
 
void new_tty_prefork (const char *ttyname)
 
static void check_syscall (const char *msg, int result)
 
void new_tty (void)
 
void new_tty_postfork (void)
 
void set_sigint_trap (void)
 
void clear_sigint_trap (void)
 
pid_t create_tty_session (void)
 
int gdb_setpgid (void)
 
void initialize_stdin_serial (void)
 

Variables

static struct serialstdin_serial
 
static struct terminal_info our_terminal_info
 
static serial_ttystate initial_gdb_ttystate
 
static void(* sigint_ours )()
 
static void(* sigquit_ours )()
 
static const char * inferior_thisrun_terminal
 
int terminal_is_ours
 
enum { ... }  gdb_has_a_terminal_flag = have_not_checked
 
static enum auto_boolean interactive_mode = AUTO_BOOLEAN_AUTO
 
static const struct inferior_data * inflow_inferior_data
 
static void(* osig )()
 
static int osig_set
 

Macro Definition Documentation

#define O_ACCMODE   (O_RDONLY | O_WRONLY | O_RDWR)

Referenced by child_terminal_info().

#define O_NOCTTY   0

Definition at line 40 of file inflow.c.

Referenced by new_tty(), and windows_create_inferior().

#define OOPSY (   what)
Value:
if (result == -1) \
fprintf_unfiltered(gdb_stderr, "[%s failed in terminal_inferior: %s]\n", \
what, safe_strerror (errno))
struct ui_file * gdb_stderr
Definition: main.c:72
char * safe_strerror(int)

Definition at line 217 of file inflow.c.

Referenced by child_terminal_inferior().

Enumeration Type Documentation

anonymous enum
Enumerator
yes 
no 
have_not_checked 

Definition at line 139 of file inflow.c.

Function Documentation

void _initialize_inflow ( void  )
static void check_syscall ( const char *  msg,
int  result 
)
static

Definition at line 689 of file inflow.c.

References print_sys_errmsg().

Referenced by new_tty().

void child_terminal_inferior ( struct target_ops self)
void child_terminal_info ( struct target_ops self,
const char *  args,
int  from_tty 
)
void child_terminal_init ( struct target_ops self)

Definition at line 266 of file inflow.c.

References child_terminal_init_with_pgrp(), inferior_ptid, and ptid_get_pid().

Referenced by inf_child_target().

void child_terminal_init_with_pgrp ( int  pgrp)
void child_terminal_ours ( struct target_ops self)

Definition at line 385 of file inflow.c.

References child_terminal_ours_1().

Referenced by inf_child_target(), and linux_nat_terminal_ours().

static void child_terminal_ours_1 ( int  output_only)
static
void child_terminal_ours_for_output ( struct target_ops self)

Definition at line 371 of file inflow.c.

References child_terminal_ours_1().

Referenced by inf_child_target().

void clear_sigint_trap ( void  )

Definition at line 810 of file inflow.c.

References osig, and osig_set.

Referenced by inf_ptrace_wait(), linux_nat_terminal_ours(), linux_nat_wait_1(), rs6000_wait(), and spu_child_wait().

void copy_terminal_info ( struct inferior to,
struct inferior from 
)
pid_t create_tty_session ( void  )

Definition at line 828 of file inflow.c.

References _, inferior_thisrun_terminal, job_control, safe_strerror(), and warning().

Referenced by fork_inferior().

static PROCESS_GROUP_TYPE gdb_getpgrp ( void  )
static

Definition at line 122 of file inflow.c.

References terminal_info::process_group, and tcgetpgrp().

Referenced by child_terminal_ours_1(), and gdb_has_a_terminal().

int gdb_has_a_terminal ( void  )
void gdb_save_tty_state ( void  )
int gdb_setpgid ( void  )

Definition at line 857 of file inflow.c.

References job_control.

Referenced by fork_inferior().

static struct terminal_info * get_inflow_inferior_data ( struct inferior inf)
static
PROCESS_GROUP_TYPE inferior_process_group ( void  )
static void inflow_inferior_data_cleanup ( struct inferior inf,
void *  arg 
)
static

Definition at line 507 of file inflow.c.

References terminal_info::run_terminal, terminal_info::ttystate, and xfree().

Referenced by _initialize_inflow().

static void inflow_inferior_exit ( struct inferior inf)
static
void initialize_stdin_serial ( void  )

Definition at line 891 of file inflow.c.

References serial_fdopen().

Referenced by gdb_init().

void new_tty ( void  )

Definition at line 700 of file inflow.c.

References _, check_syscall(), inferior_thisrun_terminal, O_NOCTTY, safe_strerror(), and warning().

Referenced by fork_inferior().

void new_tty_postfork ( void  )
void new_tty_prefork ( const char *  ttyname)

Definition at line 677 of file inflow.c.

References inferior_thisrun_terminal.

Referenced by fork_inferior().

static void pass_signal ( int  signo)
static

Definition at line 784 of file inflow.c.

References inferior_ptid, and ptid_get_pid().

Referenced by set_sigint_trap().

void set_initial_gdb_ttystate ( void  )

Definition at line 166 of file inflow.c.

References initial_gdb_ttystate, and serial_get_tty_state().

Referenced by gdb_init().

void set_sigint_trap ( void  )
static void show_interactive_mode ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Definition at line 151 of file inflow.c.

References AUTO_BOOLEAN_AUTO, fprintf_filtered(), gdb_has_a_terminal(), and interactive_mode.

Referenced by _initialize_inflow().

void term_info ( char *  arg,
int  from_tty 
)

Definition at line 578 of file inflow.c.

References target_terminal_info.

Referenced by _initialize_inflow().

Variable Documentation

enum { ... } gdb_has_a_terminal_flag

Referenced by gdb_has_a_terminal().

const char* inferior_thisrun_terminal
static

Definition at line 112 of file inflow.c.

Referenced by create_tty_session(), new_tty(), new_tty_postfork(), and new_tty_prefork().

const struct inferior_data* inflow_inferior_data
static

Definition at line 504 of file inflow.c.

Referenced by _initialize_inflow(), get_inflow_inferior_data(), and inflow_inferior_exit().

serial_ttystate initial_gdb_ttystate
static

Definition at line 84 of file inflow.c.

Referenced by child_terminal_init_with_pgrp(), and set_initial_gdb_ttystate().

enum auto_boolean interactive_mode = AUTO_BOOLEAN_AUTO
static

Definition at line 146 of file inflow.c.

Referenced by _initialize_inflow(), gdb_has_a_terminal(), and show_interactive_mode().

void(* osig) ()
static

Definition at line 791 of file inflow.c.

Referenced by clear_sigint_trap(), and set_sigint_trap().

int osig_set
static

Definition at line 792 of file inflow.c.

Referenced by clear_sigint_trap(), and set_sigint_trap().

struct terminal_info our_terminal_info
static

Definition at line 80 of file inflow.c.

Referenced by child_terminal_ours_1(), gdb_has_a_terminal(), and gdb_save_tty_state().

void(* sigint_ours) ()
static

Definition at line 104 of file inflow.c.

Referenced by child_terminal_inferior(), and child_terminal_ours_1().

void(* sigquit_ours) ()
static

Definition at line 105 of file inflow.c.

Referenced by child_terminal_inferior(), and child_terminal_ours_1().

struct serial* stdin_serial
static

Definition at line 51 of file inflow.c.

int terminal_is_ours