GDB (xrefs)
Loading...
Searching...
No Matches
Enumerations | Functions | Variables
ser-base.c File Reference
#include "defs.h"
#include "serial.h"
#include "ser-base.h"
#include "gdbsupport/event-loop.h"
#include "gdbsupport/gdb_select.h"
#include "gdbsupport/gdb_sys_time.h"

Go to the source code of this file.

Enumerations

enum  { FD_SCHEDULED = -1 , NOTHING_SCHEDULED = -2 }
 

Functions

static void reschedule (struct serial *scb)
 
static void run_async_handler_and_reschedule (struct serial *scb)
 
static void fd_event (int error, void *context)
 
static void push_event (void *context)
 
static int ser_base_wait_for (struct serial *scb, int timeout)
 
static void ser_base_read_error_fd (struct serial *scb, int close_fd)
 
static void handle_error_fd (int error, gdb_client_data client_data)
 
static int do_ser_base_readchar (struct serial *scb, int timeout)
 
int generic_readchar (struct serial *scb, int timeout, int(do_readchar)(struct serial *scb, int timeout))
 
int ser_base_readchar (struct serial *scb, int timeout)
 
int ser_base_write (struct serial *scb, const void *buf, size_t count)
 
int ser_base_flush_output (struct serial *scb)
 
int ser_base_flush_input (struct serial *scb)
 
int ser_base_send_break (struct serial *scb)
 
int ser_base_drain_output (struct serial *scb)
 
void ser_base_raw (struct serial *scb)
 
serial_ttystate ser_base_get_tty_state (struct serial *scb)
 
serial_ttystate ser_base_copy_tty_state (struct serial *scb, serial_ttystate ttystate)
 
int ser_base_set_tty_state (struct serial *scb, serial_ttystate ttystate)
 
void ser_base_print_tty_state (struct serial *scb, serial_ttystate ttystate, struct ui_file *stream)
 
int ser_base_setbaudrate (struct serial *scb, int rate)
 
int ser_base_setstopbits (struct serial *scb, int num)
 
int ser_base_setparity (struct serial *scb, int parity)
 
void ser_base_async (struct serial *scb, int async_p)
 

Variables

static timer_handler_func push_event
 
static handler_func fd_event
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
FD_SCHEDULED 
NOTHING_SCHEDULED 

Definition at line 45 of file ser-base.c.

Function Documentation

◆ do_ser_base_readchar()

static int do_ser_base_readchar ( struct serial * scb,
int timeout )
static

◆ fd_event()

static void fd_event ( int error,
void * context )
static

◆ generic_readchar()

int generic_readchar ( struct serial * scb,
int timeout,
int(do_readchar)(struct serial *scb, int timeout)  )

◆ handle_error_fd()

static void handle_error_fd ( int error,
gdb_client_data client_data )
static

Definition at line 323 of file ser-base.c.

References ser_base_read_error_fd().

Referenced by ser_base_async().

◆ push_event()

static void push_event ( void * context)
static

◆ reschedule()

static void reschedule ( struct serial * scb)
static

◆ run_async_handler_and_reschedule()

static void run_async_handler_and_reschedule ( struct serial * scb)
static

◆ ser_base_async()

void ser_base_async ( struct serial * scb,
int async_p )

◆ ser_base_copy_tty_state()

serial_ttystate ser_base_copy_tty_state ( struct serial * scb,
serial_ttystate ttystate )

Definition at line 543 of file ser-base.c.

◆ ser_base_drain_output()

int ser_base_drain_output ( struct serial * scb)

Definition at line 524 of file ser-base.c.

◆ ser_base_flush_input()

int ser_base_flush_input ( struct serial * scb)

Definition at line 505 of file ser-base.c.

References serial::buf, serial::bufcnt, serial::bufp, and SERIAL_ERROR.

Referenced by hardwire_flush_input().

◆ ser_base_flush_output()

int ser_base_flush_output ( struct serial * scb)

Definition at line 499 of file ser-base.c.

◆ ser_base_get_tty_state()

serial_ttystate ser_base_get_tty_state ( struct serial * scb)

Definition at line 536 of file ser-base.c.

◆ ser_base_print_tty_state()

void ser_base_print_tty_state ( struct serial * scb,
serial_ttystate ttystate,
struct ui_file * stream )

Definition at line 556 of file ser-base.c.

◆ ser_base_raw()

void ser_base_raw ( struct serial * scb)

Definition at line 530 of file ser-base.c.

◆ ser_base_read_error_fd()

static void ser_base_read_error_fd ( struct serial * scb,
int close_fd )
static

◆ ser_base_readchar()

int ser_base_readchar ( struct serial * scb,
int timeout )

Definition at line 469 of file ser-base.c.

References do_ser_base_readchar(), and generic_readchar().

◆ ser_base_send_break()

int ser_base_send_break ( struct serial * scb)

Definition at line 518 of file ser-base.c.

◆ ser_base_set_tty_state()

int ser_base_set_tty_state ( struct serial * scb,
serial_ttystate ttystate )

Definition at line 550 of file ser-base.c.

◆ ser_base_setbaudrate()

int ser_base_setbaudrate ( struct serial * scb,
int rate )

Definition at line 565 of file ser-base.c.

◆ ser_base_setparity()

int ser_base_setparity ( struct serial * scb,
int parity )

Definition at line 579 of file ser-base.c.

◆ ser_base_setstopbits()

int ser_base_setstopbits ( struct serial * scb,
int num )

Definition at line 571 of file ser-base.c.

◆ ser_base_wait_for()

static int ser_base_wait_for ( struct serial * scb,
int timeout )
static

Definition at line 215 of file ser-base.c.

References serial::fd, interruptible_select(), QUIT, SERIAL_ERROR, and SERIAL_TIMEOUT.

Referenced by do_ser_base_readchar().

◆ ser_base_write()

int ser_base_write ( struct serial * scb,
const void * buf,
size_t count )

Definition at line 475 of file ser-base.c.

References serial::ops, QUIT, and serial_ops::write_prim.

Variable Documentation

◆ fd_event

handler_func fd_event
static

Definition at line 33 of file ser-base.c.

Referenced by reschedule().

◆ push_event

timer_handler_func push_event
static

Definition at line 32 of file ser-base.c.

Referenced by reschedule().