## 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
                        IAnjutaDebuggerMemory;
                        IAnjutaDebuggerMemoryIface;
                        IAnjutaDebuggerMemoryBlock;
    void                (*IAnjutaDebuggerMemoryCallback)    (const IAnjutaDebuggerMemoryBlock *data,
                                                             gpointer user_data,
                                                             GError *err);
    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);

## Object Hierarchy

      GInterface
       +----IAnjutaDebuggerMemory

## Prerequisites

IAnjutaDebuggerMemory requires IAnjutaDebugger and GObject.

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

### IAnjutaDebuggerMemory

    typedef struct _IAnjutaDebuggerMemory IAnjutaDebuggerMemory;

### IAnjutaDebuggerMemoryIface

    typedef struct {
    	IAnjutaDebuggerIface g_iface;

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

### IAnjutaDebuggerMemoryBlock

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

### 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
`err` : |

### ianjuta_debugger_memory_error_quark ()

    GQuark              ianjuta_debugger_memory_error_quark (void);

Returns : |

### 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.