GDBserver
Classes | Macros | Functions | Variables
hostio.c File Reference
#include "server.h"
#include "gdb/fileio.h"
#include "hostio.h"
#include <fcntl.h>
#include <limits.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "fileio.h"

Go to the source code of this file.

Classes

struct  fd_list
 

Macros

#define HOSTIO_PATH_MAX   (PBUFSIZ / 2 + 1)
 

Functions

static int safe_fromhex (char a, int *nibble)
 
static int require_filename (char **pp, char *filename)
 
static int require_int (char **pp, int *value)
 
static int require_data (char *p, int p_len, char **data, int *data_len)
 
static int require_comma (char **pp)
 
static int require_end (char *p)
 
static int require_valid_fd (int fd)
 
static void hostio_error (char *own_buf)
 
static void hostio_packet_error (char *own_buf)
 
static void hostio_reply (char *own_buf, int result)
 
static int hostio_reply_with_data (char *own_buf, char *buffer, int len, int *new_packet_len)
 
void hostio_handle_new_gdb_connection (void)
 
static void handle_setfs (char *own_buf)
 
static void handle_open (char *own_buf)
 
static void handle_pread (char *own_buf, int *new_packet_len)
 
static void handle_pwrite (char *own_buf, int packet_len)
 
static void handle_fstat (char *own_buf, int *new_packet_len)
 
static void handle_close (char *own_buf)
 
static void handle_unlink (char *own_buf)
 
static void handle_readlink (char *own_buf, int *new_packet_len)
 
int handle_vFile (char *own_buf, int packet_len, int *new_packet_len)
 

Variables

int remote_debug
 
static struct fd_listopen_fds
 
static int hostio_fs_pid
 

Macro Definition Documentation

#define HOSTIO_PATH_MAX   (PBUFSIZ / 2 + 1)

Definition at line 60 of file hostio.c.

Referenced by handle_open(), handle_readlink(), handle_unlink(), and require_filename().

Function Documentation

static void handle_close ( char *  own_buf)
static
static void handle_fstat ( char *  own_buf,
int *  new_packet_len 
)
static
static void handle_open ( char *  own_buf)
static
static void handle_pread ( char *  own_buf,
int *  new_packet_len 
)
static
static void handle_pwrite ( char *  own_buf,
int  packet_len 
)
static
static void handle_readlink ( char *  own_buf,
int *  new_packet_len 
)
static
static void handle_setfs ( char *  own_buf)
static
static void handle_unlink ( char *  own_buf)
static
int handle_vFile ( char *  own_buf,
int  packet_len,
int *  new_packet_len 
)
static void hostio_error ( char *  own_buf)
static
void hostio_handle_new_gdb_connection ( void  )

Definition at line 255 of file hostio.c.

References hostio_fs_pid.

Referenced by handle_query().

static void hostio_packet_error ( char *  own_buf)
static
static void hostio_reply ( char *  own_buf,
int  result 
)
static

Definition at line 206 of file hostio.c.

Referenced by handle_close(), handle_open(), handle_pwrite(), handle_setfs(), and handle_unlink().

static int hostio_reply_with_data ( char *  own_buf,
char *  buffer,
int  len,
int *  new_packet_len 
)
static

Definition at line 212 of file hostio.c.

References PBUFSIZ.

Referenced by handle_fstat(), handle_pread(), and handle_readlink().

static int require_comma ( char **  pp)
static

Definition at line 159 of file hostio.c.

Referenced by handle_open(), handle_pread(), and handle_pwrite().

static int require_data ( char *  p,
int  p_len,
char **  data,
int *  data_len 
)
static

Definition at line 125 of file hostio.c.

References xmalloc().

Referenced by handle_pwrite().

static int require_end ( char *  p)
static
static int require_filename ( char **  pp,
char *  filename 
)
static

Definition at line 66 of file hostio.c.

References HOSTIO_PATH_MAX, and safe_fromhex().

Referenced by handle_open(), handle_readlink(), and handle_unlink().

static int require_int ( char **  pp,
int *  value 
)
static

Definition at line 96 of file hostio.c.

References safe_fromhex().

Referenced by handle_close(), handle_fstat(), handle_open(), handle_pread(), handle_pwrite(), and handle_setfs().

static int require_valid_fd ( int  fd)
static

Definition at line 180 of file hostio.c.

References fd_list::fd, and fd_list::next.

Referenced by handle_close(), handle_fstat(), handle_pread(), and handle_pwrite().

static int safe_fromhex ( char  a,
int *  nibble 
)
static

Definition at line 43 of file hostio.c.

Referenced by require_filename(), and require_int().

Variable Documentation

int hostio_fs_pid
static
struct fd_list* open_fds
static

Definition at line 40 of file hostio.c.

Referenced by do_close(), handle_close(), handle_open(), unmark_fd_no_cloexec(), and VEC().

int remote_debug

Definition at line 103 of file remote-utils.c.

Referenced by handle_notif_ack(), and notif_event_enque().