23 extern PyTypeObject inferior_call_pre_event_object_type
25 extern PyTypeObject inferior_call_post_event_object_type
27 extern PyTypeObject register_changed_event_object_type
29 extern PyTypeObject memory_changed_event_object_type
42 PyObject *ptid_obj = NULL;
43 PyObject *addr_obj = NULL;
46 struct cleanup *member_cleanups;
71 addr_obj = PyLong_FromLongLong (addr);
97 PyObject *frame_obj = NULL;
98 PyObject *regnum_obj = NULL;
101 struct cleanup *member_cleanups;
110 if (frame_obj == NULL)
118 regnum_obj = PyLong_FromLongLong (regnum);
119 if (regnum_obj == NULL)
143 PyObject *addr_obj = NULL;
144 PyObject *len_obj = NULL;
147 struct cleanup *member_cleanups;
155 addr_obj = PyLong_FromLongLong (addr);
156 if (addr_obj == NULL)
164 len_obj = PyLong_FromLong (len);
238 "gdb.InferiorCallPreEvent",
239 "InferiorCallPreEvent",
240 "GDB inferior function pre-call event object",
244 "gdb.InferiorCallPostEvent",
245 "InferiorCallPostEvent",
246 "GDB inferior function post-call event object",
250 "gdb.RegisterChangedEvent",
251 "RegisterChangedEvent",
252 "GDB register change event object",
256 "gdb.MemoryChangedEvent",
257 "MemoryChangedEvent",
258 "GDB memory change event object",
static PyObject * create_inferior_call_event_object(inferior_call_kind flag, ptid_t ptid, CORE_ADDR addr)
GDBPY_NEW_EVENT_TYPE(inferior_call_pre,"gdb.InferiorCallPreEvent","InferiorCallPreEvent","GDB inferior function pre-call event object", event_object_type)
eventregistry_object * memory_changed
PyObject * frame_info_to_frame_object(struct frame_info *frame)
eventregistry_object * register_changed
int emit_inferior_call_event(inferior_call_kind flag, ptid_t thread, CORE_ADDR addr)
PyObject * gdbpy_create_ptid_object(ptid_t ptid)
int emit_register_changed_event(struct frame_info *frame, int regnum)
int emit_memory_changed_event(CORE_ADDR addr, ssize_t len)
int evpy_add_attribute(PyObject *event, char *name, PyObject *attr)
PyObject * create_event_object(PyTypeObject *py_type)
static PyObject * create_memory_changed_event_object(CORE_ADDR addr, ssize_t len)
events_object gdb_py_events
PyTypeObject inferior_call_pre_event_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF("event_object")
void discard_cleanups(struct cleanup *old_chain)
PyTypeObject event_object_type
static PyObject * create_register_changed_event_object(struct frame_info *frame, int regnum)
int evpy_emit_event(PyObject *event, eventregistry_object *registry)
int evregpy_no_listeners_p(eventregistry_object *registry)
eventregistry_object * inferior_call
struct cleanup * make_cleanup_py_decref(PyObject *py)
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int int rusage_t pid_t pid
void do_cleanups(struct cleanup *old_chain)
const ULONGEST const LONGEST len