## IAnjutaDebuggerMemory IAnjutaDebuggerMemory — Memory interface for debuggers |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

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

    #define             IANJUTA_DEBUGGER_MEMORY_ERROR
    struct              IAnjutaDebuggerMemoryBlock;
    void                (*IAnjutaDebuggerMemoryCallback)    (const IAnjutaDebuggerMemoryBlock *data,
                                                             gpointer user_data,
                                                             GError *err);
    struct              IAnjutaDebuggerMemoryIface;
    GQuark              ianjuta_debugger_memory_error_quark (void);
    gboolean            ianjuta_debugger_memory_inspect     (IAnjutaDebuggerMemory *obj,
                                                             gulong address,
                                                             guint length,
                                                             IAnjutaDebuggerMemoryCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

## Description

This interface is used to examine the target memory.

## Details

### IANJUTA_DEBUGGER_MEMORY_ERROR

    #define IANJUTA_DEBUGGER_MEMORY_ERROR ianjuta_debugger_memory_error_quark()

### struct IAnjutaDebuggerMemoryBlock

    struct IAnjutaDebuggerMemoryBlock {
    	gulong address;
    	guint length;
    	gchar *data;
    };

### IAnjutaDebuggerMemoryCallback ()

    void                (*IAnjutaDebuggerMemoryCallback)    (const IAnjutaDebuggerMemoryBlock *data,
                                                             gpointer user_data,
                                                             GError *err);

This callback function is used to return a IAnjutaDebuggerMemoryBlock.

`data` : | a IAnjutaDebuggerMemoryBlock object
`user_data` : | user data passed to the function

### struct IAnjutaDebuggerMemoryIface

    struct IAnjutaDebuggerMemoryIface {
    	IAnjutaDebuggerIface g_iface;

    	gboolean (*inspect) (IAnjutaDebuggerMemory *obj, gulong address,  guint length,  IAnjutaDebuggerMemoryCallback callback,  gpointer user_data, GError **err);
    };

### ianjuta_debugger_memory_error_quark ()

    GQuark              ianjuta_debugger_memory_error_quark (void);

### ianjuta_debugger_memory_inspect ()

    gboolean            ianjuta_debugger_memory_inspect     (IAnjutaDebuggerMemory *obj,
                                                             gulong address,
                                                             guint length,
                                                             IAnjutaDebuggerMemoryCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

Read a block of the target memory.

`obj` : | Self
`address` : | Start address of the memory block
`length` : | Length of memory block
`callback` : | Call back with a IAnjutaDebuggerMemoryBlock as argument
`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.