IAnjutaDebuggerRegister

IAnjutaDebuggerRegister — Register interface for debuggers

Stability Level

Unstable, unless otherwise indicated

Synopsis


#include <libanjuta/interfaces/ianjuta-debugger-register.h>


                    IAnjutaDebuggerRegisterData;
#define             IANJUTA_DEBUGGER_REGISTER_ERROR
                    IAnjutaDebuggerRegister;
                    IAnjutaDebuggerRegisterIface;
GQuark              ianjuta_debugger_register_error_quark
                                                        (void);
gboolean            ianjuta_debugger_register_list      (IAnjutaDebuggerRegister *obj,
                                                         IAnjutaDebuggerCallback callback,
                                                         gpointer user_data,
                                                         GError **err);
gboolean            ianjuta_debugger_register_update    (IAnjutaDebuggerRegister *obj,
                                                         IAnjutaDebuggerCallback callback,
                                                         gpointer user_data,
                                                         GError **err);
gboolean            ianjuta_debugger_register_write     (IAnjutaDebuggerRegister *obj,
                                                         IAnjutaDebuggerRegisterData *value,
                                                         GError **err);

Object Hierarchy


  GInterface
   +----IAnjutaDebuggerRegister

Prerequisites

IAnjutaDebuggerRegister requires IAnjutaDebugger and GObject.

Description

This interface is used to examine and change values of CPU registers.

Details

IAnjutaDebuggerRegisterData

typedef struct {
	guint num;
	gchar *name;
	gchar *value;
} IAnjutaDebuggerRegisterData;


IANJUTA_DEBUGGER_REGISTER_ERROR

#define IANJUTA_DEBUGGER_REGISTER_ERROR ianjuta_debugger_register_error_quark()


IAnjutaDebuggerRegister

typedef struct _IAnjutaDebuggerRegister IAnjutaDebuggerRegister;


IAnjutaDebuggerRegisterIface

typedef struct {
	IAnjutaDebuggerIface g_iface;
	

	gboolean (*list) (IAnjutaDebuggerRegister *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
	gboolean (*update) (IAnjutaDebuggerRegister *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
	gboolean (*write) (IAnjutaDebuggerRegister *obj, IAnjutaDebuggerRegisterData *value, GError **err);
} IAnjutaDebuggerRegisterIface;


ianjuta_debugger_register_error_quark ()

GQuark              ianjuta_debugger_register_error_quark
                                                        (void);

Returns :

ianjuta_debugger_register_list ()

gboolean            ianjuta_debugger_register_list      (IAnjutaDebuggerRegister *obj,
                                                         IAnjutaDebuggerCallback callback,
                                                         gpointer user_data,
                                                         GError **err);

List all registers of the target. This function can be called without a program loaded, the value field of register structure is not filled.

obj : Self
callback : Callback to call with the register list
user_data : User data that is passed back to the callback
err : Error propagation and reporting.
Returns : TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called.

ianjuta_debugger_register_update ()

gboolean            ianjuta_debugger_register_update    (IAnjutaDebuggerRegister *obj,
                                                         IAnjutaDebuggerCallback callback,
                                                         gpointer user_data,
                                                         GError **err);

Return all modified registers since the last call. Only the num and value field are used.

obj : Self
callback : Callback call with the list of all modified registers
user_data : User data that is passed back to the callback
err : Error propagation and reporting.
Returns : TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called.

ianjuta_debugger_register_write ()

gboolean            ianjuta_debugger_register_write     (IAnjutaDebuggerRegister *obj,
                                                         IAnjutaDebuggerRegisterData *value,
                                                         GError **err);

Change the value of one register. Only the num and value field are used.

obj : Self
value : Modified register with a new value
err : Error propagation and reporting.
Returns : TRUE if the request succeed.