GDB (xrefs)
Loading...
Searching...
No Matches
xml-syscall.c File Reference
#include "defs.h"
#include "gdbtypes.h"
#include "xml-support.h"
#include "xml-syscall.h"
#include "gdbarch.h"
#include "target.h"
#include "filenames.h"

Go to the source code of this file.

Classes

struct  syscall_desc
 
struct  syscall_group_desc
 
struct  syscalls_info
 
struct  syscall_parsing_data
 

Typedefs

typedef std::unique_ptr< syscall_descsyscall_desc_up
 
typedef std::unique_ptr< syscall_group_descsyscall_group_desc_up
 
typedef std::unique_ptr< syscalls_infosyscalls_info_up
 

Functions

static struct syscall_group_descsyscall_group_create_syscall_group_desc (struct syscalls_info *syscalls_info, const char *group)
 
static void syscall_group_add_syscall (struct syscalls_info *syscalls_info, struct syscall_desc *syscall, const char *group)
 
static void syscall_create_syscall_desc (struct syscalls_info *syscalls_info, const char *name, int number, const char *alias, char *groups)
 
static void syscall_start_syscall (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, std::vector< gdb_xml_value > &attributes)
 
static struct syscalls_infosyscall_parse_xml (const char *document, xml_fetch_another fetcher)
 
static struct syscalls_infoxml_init_syscalls_info (const char *filename)
 
static void init_syscalls_info (struct gdbarch *gdbarch)
 
static struct syscall_group_descsyscall_group_get_group_by_name (const struct syscalls_info *syscalls_info, const char *group)
 
static bool xml_get_syscalls_by_name (struct gdbarch *gdbarch, const char *syscall_name, std::vector< int > *syscall_numbers)
 
static const char * xml_get_syscall_name (struct gdbarch *gdbarch, int syscall_number)
 
static const char ** xml_list_of_syscalls (struct gdbarch *gdbarch)
 
static bool xml_list_syscalls_by_group (struct gdbarch *gdbarch, const char *group, std::vector< int > *syscalls)
 
static const char ** xml_list_of_groups (struct gdbarch *gdbarch)
 
void set_xml_syscall_file_name (struct gdbarch *gdbarch, const char *name)
 
void get_syscall_by_number (struct gdbarch *gdbarch, int syscall_number, struct syscall *s)
 
bool get_syscalls_by_name (struct gdbarch *gdbarch, const char *syscall_name, std::vector< int > *syscall_numbers)
 
const char ** get_syscall_names (struct gdbarch *gdbarch)
 
bool get_syscalls_by_group (struct gdbarch *gdbarch, const char *group, std::vector< int > *syscall_numbers)
 
const char ** get_syscall_group_names (struct gdbarch *gdbarch)
 

Variables

static const struct gdb_xml_attribute syscall_attr []
 
static const struct gdb_xml_element syscalls_info_children []
 
static const struct gdb_xml_element syselements []
 

Typedef Documentation

◆ syscall_desc_up

typedef std::unique_ptr<syscall_desc> syscall_desc_up

Definition at line 116 of file xml-syscall.c.

◆ syscall_group_desc_up

typedef std::unique_ptr<syscall_group_desc> syscall_group_desc_up

Definition at line 135 of file xml-syscall.c.

◆ syscalls_info_up

typedef std::unique_ptr<syscalls_info> syscalls_info_up

Definition at line 155 of file xml-syscall.c.

Function Documentation

◆ get_syscall_by_number()

◆ get_syscall_group_names()

const char ** get_syscall_group_names ( struct gdbarch * gdbarch)

Definition at line 558 of file xml-syscall.c.

References init_syscalls_info(), and xml_list_of_groups().

Referenced by catch_syscall_completer().

◆ get_syscall_names()

const char ** get_syscall_names ( struct gdbarch * gdbarch)

Definition at line 537 of file xml-syscall.c.

References init_syscalls_info(), and xml_list_of_syscalls().

Referenced by catch_syscall_completer().

◆ get_syscalls_by_group()

bool get_syscalls_by_group ( struct gdbarch * gdbarch,
const char * group,
std::vector< int > * syscall_numbers )

Definition at line 547 of file xml-syscall.c.

References init_syscalls_info(), and xml_list_syscalls_by_group().

Referenced by catch_syscall_split_args().

◆ get_syscalls_by_name()

bool get_syscalls_by_name ( struct gdbarch * gdbarch,
const char * syscall_name,
std::vector< int > * syscall_numbers )

Definition at line 528 of file xml-syscall.c.

References init_syscalls_info(), and xml_get_syscalls_by_name().

Referenced by catch_syscall_split_args().

◆ init_syscalls_info()

◆ set_xml_syscall_file_name()

◆ syscall_create_syscall_desc()

static void syscall_create_syscall_desc ( struct syscalls_info * syscalls_info,
const char * name,
int number,
const char * alias,
char * groups )
static

Definition at line 212 of file xml-syscall.c.

References alias, name, syscall_group_add_syscall(), and syscalls_info::syscalls.

Referenced by syscall_start_syscall().

◆ syscall_group_add_syscall()

static void syscall_group_add_syscall ( struct syscalls_info * syscalls_info,
struct syscall_desc * syscall,
const char * group )
static

◆ syscall_group_create_syscall_group_desc()

static struct syscall_group_desc * syscall_group_create_syscall_group_desc ( struct syscalls_info * syscalls_info,
const char * group )
static

◆ syscall_group_get_group_by_name()

static struct syscall_group_desc * syscall_group_get_group_by_name ( const struct syscalls_info * syscalls_info,
const char * group )
static

Definition at line 387 of file xml-syscall.c.

References syscalls_info::groups.

Referenced by xml_list_syscalls_by_group().

◆ syscall_parse_xml()

static struct syscalls_info * syscall_parse_xml ( const char * document,
xml_fetch_another fetcher )
static

Definition at line 289 of file xml-syscall.c.

References gdb_xml_parse_quick(), and syselements.

Referenced by xml_init_syscalls_info().

◆ syscall_start_syscall()

static void syscall_start_syscall ( struct gdb_xml_parser * parser,
const struct gdb_xml_element * element,
void * user_data,
std::vector< gdb_xml_value > & attributes )
static

Definition at line 234 of file xml-syscall.c.

References alias, attributes, name, and syscall_create_syscall_desc().

◆ xml_get_syscall_name()

static const char * xml_get_syscall_name ( struct gdbarch * gdbarch,
int syscall_number )
static

Definition at line 425 of file xml-syscall.c.

References gdbarch_syscalls_info(), and syscalls_info::syscalls.

Referenced by get_syscall_by_number().

◆ xml_get_syscalls_by_name()

static bool xml_get_syscalls_by_name ( struct gdbarch * gdbarch,
const char * syscall_name,
std::vector< int > * syscall_numbers )
static

Definition at line 407 of file xml-syscall.c.

References gdbarch_syscalls_info(), and syscalls_info::syscalls.

Referenced by get_syscalls_by_name().

◆ xml_init_syscalls_info()

static struct syscalls_info * xml_init_syscalls_info ( const char * filename)
static

◆ xml_list_of_groups()

static const char ** xml_list_of_groups ( struct gdbarch * gdbarch)
static

Definition at line 490 of file xml-syscall.c.

References gdbarch_syscalls_info(), syscalls_info::groups, and xmalloc().

Referenced by get_syscall_group_names().

◆ xml_list_of_syscalls()

static const char ** xml_list_of_syscalls ( struct gdbarch * gdbarch)
static

Definition at line 442 of file xml-syscall.c.

References gdbarch_syscalls_info(), and syscalls_info::syscalls.

Referenced by get_syscall_names().

◆ xml_list_syscalls_by_group()

static bool xml_list_syscalls_by_group ( struct gdbarch * gdbarch,
const char * group,
std::vector< int > * syscalls )
static

Variable Documentation

◆ syscall_attr

const struct gdb_xml_attribute syscall_attr[]
static
Initial value:
= {
{ "name", GDB_XML_AF_NONE, NULL, NULL },
{ "alias", GDB_XML_AF_OPTIONAL, NULL, NULL },
{ "groups", GDB_XML_AF_OPTIONAL, NULL, NULL },
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
}
gdb_xml_attribute_handler gdb_xml_parse_attr_ulongest
@ GDB_XML_AF_OPTIONAL
@ GDB_XML_AF_NONE

Definition at line 267 of file xml-syscall.c.

◆ syscalls_info_children

const struct gdb_xml_element syscalls_info_children[]
static
Initial value:
= {
{ "syscall", syscall_attr, NULL,
{ NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
}
@ GDB_XML_EF_NONE
@ GDB_XML_EF_REPEATABLE
@ GDB_XML_EF_OPTIONAL
static const struct gdb_xml_attribute syscall_attr[]
static void syscall_start_syscall(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, std::vector< gdb_xml_value > &attributes)

Definition at line 275 of file xml-syscall.c.

◆ syselements

const struct gdb_xml_element syselements[]
static
Initial value:
= {
{ "syscalls_info", NULL, syscalls_info_children,
GDB_XML_EF_NONE, NULL, NULL },
{ NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
}
static const struct gdb_xml_element syscalls_info_children[]

Definition at line 282 of file xml-syscall.c.

Referenced by syscall_parse_xml().