IAnjutaDebuggerRegister

IAnjutaDebuggerRegister — Register interface for debuggers

Stability Level

Unstable, unless otherwise indicated

Synopsis

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

#define             IANJUTA_DEBUGGER_REGISTER_ERROR
struct              IAnjutaDebuggerRegisterData;
struct              IAnjutaDebuggerRegisterIface;
GQuark              ianjuta_debugger_register_error_quark
                                                        (void);
gboolean            ianjuta_debugger_register_list_register
                                                        (IAnjutaDebuggerRegister *obj,
                                                         IAnjutaDebuggerGListCallback callback,
                                                         gpointer user_data,
                                                         GError **err);
gboolean            ianjuta_debugger_register_update_register
                                                        (IAnjutaDebuggerRegister *obj,
                                                         IAnjutaDebuggerGListCallback callback,
                                                         gpointer user_data,
                                                         GError **err);
gboolean            ianjuta_debugger_register_write_register
                                                        (IAnjutaDebuggerRegister *obj,
                                                         IAnjutaDebuggerRegisterData *value,
                                                         GError **err);

Description

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

Details

IANJUTA_DEBUGGER_REGISTER_ERROR

#define IANJUTA_DEBUGGER_REGISTER_ERROR ianjuta_debugger_register_error_quark()


struct IAnjutaDebuggerRegisterData

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

Defines a register data.

guint num;

register identifier

gchar *name;

register name

gchar *value;

register value

struct IAnjutaDebuggerRegisterIface

struct IAnjutaDebuggerRegisterIface {
	IAnjutaDebuggerIface g_iface;
	

	gboolean (*list_register) (IAnjutaDebuggerRegister *obj, IAnjutaDebuggerGListCallback callback,  gpointer user_data, GError **err);
	gboolean (*update_register) (IAnjutaDebuggerRegister *obj, IAnjutaDebuggerGListCallback callback,  gpointer user_data, GError **err);
	gboolean (*write_register) (IAnjutaDebuggerRegister *obj, IAnjutaDebuggerRegisterData *value, GError **err);
};


ianjuta_debugger_register_error_quark ()

GQuark              ianjuta_debugger_register_error_quark
                                                        (void);


ianjuta_debugger_register_list_register ()

gboolean            ianjuta_debugger_register_list_register
                                                        (IAnjutaDebuggerRegister *obj,
                                                         IAnjutaDebuggerGListCallback 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 IAnjutaDebuggerRegisterData 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_register ()

gboolean            ianjuta_debugger_register_update_register
                                                        (IAnjutaDebuggerRegister *obj,
                                                         IAnjutaDebuggerGListCallback 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 IAnjutaDebuggerRegisterData

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_register ()

gboolean            ianjuta_debugger_register_write_register
                                                        (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.