GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Typedefs | Functions | Variables
py-registers.c File Reference
#include "defs.h"
#include "gdbarch.h"
#include "arch-utils.h"
#include "reggroups.h"
#include "python-internal.h"
#include "user-regs.h"
#include <unordered_map>

Go to the source code of this file.

Classes

struct  register_descriptor_iterator_object
 
struct  register_descriptor_object
 
struct  reggroup_iterator_object
 
struct  reggroup_object
 

Typedefs

typedef std::vector< gdbpy_ref<> > gdbpy_register_type
 

Functions

PyTypeObject register_descriptor_iterator_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("register_descriptor_iterator_object")
 
PyTypeObject register_descriptor_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("register_descriptor_object")
 
PyTypeObject reggroup_iterator_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("reggroup_iterator_object")
 
PyTypeObject reggroup_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("reggroup_object")
 
static gdbpy_ref gdbpy_get_reggroup (const reggroup *reggroup)
 
static PyObject * gdbpy_reggroup_to_string (PyObject *self)
 
static PyObject * gdbpy_reggroup_name (PyObject *self, void *closure)
 
static gdbpy_ref gdbpy_get_register_descriptor (struct gdbarch *gdbarch, int regnum)
 
static PyObject * gdbpy_register_descriptor_to_string (PyObject *self)
 
static PyObject * gdbpy_register_descriptor_name (PyObject *self, void *closure)
 
static PyObject * gdbpy_reggroup_iter (PyObject *self)
 
static PyObject * gdbpy_reggroup_iter_next (PyObject *self)
 
PyObject * gdbpy_new_reggroup_iterator (struct gdbarch *gdbarch)
 
PyObject * gdbpy_new_register_descriptor_iterator (struct gdbarch *gdbarch, const char *group_name)
 
static PyObject * gdbpy_register_descriptor_iter (PyObject *self)
 
static PyObject * gdbpy_register_descriptor_iter_next (PyObject *self)
 
static PyObject * register_descriptor_iter_find (PyObject *self, PyObject *args, PyObject *kw)
 
bool gdbpy_parse_register_id (struct gdbarch *gdbarch, PyObject *pyo_reg_id, int *reg_num)
 
int gdbpy_initialize_registers ()
 

Variables

static const registry< gdbarch >::key< gdbpy_register_typegdbpy_register_object_data
 
static PyMethodDef register_descriptor_iterator_object_methods []
 
PyTypeObject register_descriptor_iterator_object_type
 
static gdb_PyGetSetDef gdbpy_register_descriptor_getset []
 
PyTypeObject register_descriptor_object_type
 
PyTypeObject reggroup_iterator_object_type
 
static gdb_PyGetSetDef gdbpy_reggroup_getset []
 
PyTypeObject reggroup_object_type
 

Typedef Documentation

◆ gdbpy_register_type

typedef std::vector<gdbpy_ref<> > gdbpy_register_type

Definition at line 29 of file py-registers.c.

Function Documentation

◆ CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF() [1/4]

PyTypeObject reggroup_iterator_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ( "reggroup_iterator_object"  )

◆ CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF() [2/4]

PyTypeObject reggroup_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ( "reggroup_object"  )

◆ CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF() [3/4]

PyTypeObject register_descriptor_iterator_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ( "register_descriptor_iterator_object"  )

◆ CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF() [4/4]

PyTypeObject register_descriptor_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ( "register_descriptor_object"  )

◆ gdbpy_get_reggroup()

static gdbpy_ref gdbpy_get_reggroup ( const reggroup reggroup)
static

Definition at line 97 of file py-registers.c.

References reggroup_object_type.

Referenced by gdbpy_reggroup_iter_next().

◆ gdbpy_get_register_descriptor()

static gdbpy_ref gdbpy_get_register_descriptor ( struct gdbarch gdbarch,
int  regnum 
)
static

◆ gdbpy_initialize_registers()

int gdbpy_initialize_registers ( )

◆ gdbpy_new_reggroup_iterator()

PyObject * gdbpy_new_reggroup_iterator ( struct gdbarch gdbarch)

◆ gdbpy_new_register_descriptor_iterator()

PyObject * gdbpy_new_register_descriptor_iterator ( struct gdbarch gdbarch,
const char *  group_name 
)

◆ gdbpy_parse_register_id()

bool gdbpy_parse_register_id ( struct gdbarch gdbarch,
PyObject *  pyo_reg_id,
int *  reg_num 
)

◆ gdbpy_reggroup_iter()

static PyObject * gdbpy_reggroup_iter ( PyObject *  self)
static

Definition at line 208 of file py-registers.c.

◆ gdbpy_reggroup_iter_next()

static PyObject * gdbpy_reggroup_iter_next ( PyObject *  self)
static

◆ gdbpy_reggroup_name()

static PyObject * gdbpy_reggroup_name ( PyObject *  self,
void *  closure 
)
static

Definition at line 140 of file py-registers.c.

References gdbpy_reggroup_to_string().

◆ gdbpy_reggroup_to_string()

static PyObject * gdbpy_reggroup_to_string ( PyObject *  self)
static

Definition at line 128 of file py-registers.c.

References reggroup::name(), and reggroup_object::reggroup.

Referenced by gdbpy_reggroup_name().

◆ gdbpy_register_descriptor_iter()

static PyObject * gdbpy_register_descriptor_iter ( PyObject *  self)
static

Definition at line 299 of file py-registers.c.

◆ gdbpy_register_descriptor_iter_next()

static PyObject * gdbpy_register_descriptor_iter_next ( PyObject *  self)
static

◆ gdbpy_register_descriptor_name()

static PyObject * gdbpy_register_descriptor_name ( PyObject *  self,
void *  closure 
)
static

Definition at line 200 of file py-registers.c.

References gdbpy_register_descriptor_to_string().

◆ gdbpy_register_descriptor_to_string()

static PyObject * gdbpy_register_descriptor_to_string ( PyObject *  self)
static

◆ register_descriptor_iter_find()

static PyObject * register_descriptor_iter_find ( PyObject *  self,
PyObject *  args,
PyObject *  kw 
)
static

Variable Documentation

◆ gdbpy_reggroup_getset

gdb_PyGetSetDef gdbpy_reggroup_getset[]
static
Initial value:
= {
{ "name", gdbpy_reggroup_name, NULL,
"The name of this register group.", NULL },
{ NULL }
}
static PyObject * gdbpy_reggroup_name(PyObject *self, void *closure)
Definition: py-registers.c:140

Definition at line 575 of file py-registers.c.

◆ gdbpy_register_descriptor_getset

gdb_PyGetSetDef gdbpy_register_descriptor_getset[]
static
Initial value:
= {
"The name of this register.", NULL },
{ NULL }
}
static PyObject * gdbpy_register_descriptor_name(PyObject *self, void *closure)
Definition: py-registers.c:200

Definition at line 505 of file py-registers.c.

◆ gdbpy_register_object_data

const registry<gdbarch>::key<gdbpy_register_type> gdbpy_register_object_data
static

Definition at line 33 of file py-registers.c.

Referenced by gdbpy_get_register_descriptor().

◆ reggroup_iterator_object_type

PyTypeObject reggroup_iterator_object_type
Initial value:
= {
PyVarObject_HEAD_INIT (NULL, 0)
"gdb.RegisterGroupsIterator",
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
Py_TPFLAGS_DEFAULT,
"GDB register groups iterator object",
0,
0,
0,
0,
0
}
static PyObject * gdbpy_reggroup_iter_next(PyObject *self)
Definition: py-registers.c:217
static PyObject * gdbpy_reggroup_iter(PyObject *self)
Definition: py-registers.c:208

Definition at line 544 of file py-registers.c.

Referenced by gdbpy_initialize_registers(), and gdbpy_new_reggroup_iterator().

◆ reggroup_object_type

PyTypeObject reggroup_object_type

Definition at line 581 of file py-registers.c.

Referenced by gdbpy_get_reggroup(), and gdbpy_initialize_registers().

◆ register_descriptor_iterator_object_methods

PyMethodDef register_descriptor_iterator_object_methods[]
static
Initial value:
= {
{ "find", (PyCFunction) register_descriptor_iter_find,
METH_VARARGS | METH_KEYWORDS,
"registers (name) -> gdb.RegisterDescriptor.\n\
Return a register descriptor for the register NAME, or None if no register\n\
with that name exists in this iterator." },
{NULL}
}
static PyObject * register_descriptor_iter_find(PyObject *self, PyObject *args, PyObject *kw)
Definition: py-registers.c:343

Definition at line 465 of file py-registers.c.

◆ register_descriptor_iterator_object_type

PyTypeObject register_descriptor_iterator_object_type
Initial value:
= {
PyVarObject_HEAD_INIT (NULL, 0)
"gdb.RegisterDescriptorIterator",
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
Py_TPFLAGS_DEFAULT,
"GDB architecture register descriptor iterator object",
0,
0,
0,
0,
}
static PyMethodDef register_descriptor_iterator_object_methods[]
Definition: py-registers.c:465
static PyObject * gdbpy_register_descriptor_iter(PyObject *self)
Definition: py-registers.c:299
static PyObject * gdbpy_register_descriptor_iter_next(PyObject *self)
Definition: py-registers.c:308

Definition at line 474 of file py-registers.c.

Referenced by gdbpy_initialize_registers(), and gdbpy_new_register_descriptor_iterator().

◆ register_descriptor_object_type

PyTypeObject register_descriptor_object_type