50 if (membuf_obj ==
nullptr)
53 membuf_obj->buffer = buffer.release ();
54 membuf_obj->addr = address;
55 membuf_obj->length = length;
57 return PyMemoryView_FromObject ((
PyObject *) membuf_obj.get ());
66 Py_TYPE (self)->tp_free (self);
76 return PyUnicode_FromFormat (_(
"Memory buffer for address %s, \
77which is %s bytes long."),
80 pulongest (membuf_obj->
length));
89 ret = PyBuffer_FillInfo (buf, self, membuf_obj->
buffer,
95 buf->format = (
char *)
"c";
123 PyVarObject_HEAD_INIT (
nullptr, 0)
143 "GDB memory buffer object",
static struct gdbarch * get_gdbarch()
mach_port_t kern_return_t mach_port_t mach_msg_type_name_t msgportsPoly mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int flags
PyObject * gdbpy_buffer_to_membuf(gdb::unique_xmalloc_ptr< gdb_byte > buffer, CORE_ADDR address, ULONGEST length)
static PyBufferProcs buffer_procs
static void mbpy_dealloc(PyObject *self)
PyTypeObject membuf_object_type
static PyObject * mbpy_str(PyObject *self)
static int CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION gdbpy_initialize_membuf(void)
static int get_buffer(PyObject *self, Py_buffer *buf, int flags)
gdb::ref_ptr< T, gdbpy_ref_policy< T > > gdbpy_ref
int gdb_pymodule_addobject(PyObject *module, const char *name, PyObject *object)
#define CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF(ARG)
#define CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION
#define GDBPY_INITIALIZE_FILE(INIT,...)
PyObject_HEAD void * buffer
const char * paddress(struct gdbarch *gdbarch, CORE_ADDR addr)