camel-debug
3
CAMEL Library

# camel-debug

## Synopsis

    #define             CAMEL_DEBUG_IMAP
    #define             CAMEL_DEBUG_IMAP_FOLDER
    void                camel_debug_init                    (void);
    gboolean            camel_debug                         (const char *mode);
    gboolean            camel_debug_start                   (const char *mode);
    void                camel_debug_end                     (void);
    extern              int camel_verbose_debug;

## Description

## Details

### CAMEL_DEBUG_IMAP

    #define CAMEL_DEBUG_IMAP "imap"

### CAMEL_DEBUG_IMAP_FOLDER

    #define CAMEL_DEBUG_IMAP_FOLDER "imap:folder"

### camel_debug_init ()

    void                camel_debug_init                    (void);

Init camel debug. Maintain legacy CAMEL_VERBOSE_DEBUG as well as the new CAMEL_DEBUG based environment variable interfaces.

CAMEL_VERBOSE_DEBUG is set to a number to turn debug on.

CAMEL_DEBUG is set to a comma separated list of modules to debug. The modules can contain module-specific specifiers after a ':', or just act as a wildcard for the module or even specifier. e.g. 'imap' for imap debug, or 'imap:folder' for imap folder debug. Additionaly, ':folder' can be used for a wildcard for any folder operations.

`void` :

### camel_debug ()

    gboolean            camel_debug                         (const char *mode);

Check to see if a debug mode is activated. `mode` takes one of two forms, a fully qualified 'module:target', or a wildcard 'module' name. It returns a boolean to indicate if the module or module and target is currently activated for debug output.

`mode` :

Returns :

### camel_debug_start ()

    gboolean            camel_debug_start                   (const char *mode);

Start debug output for a given mode, used to make sure debug output is output atomically and not interspersed with unrelated stuff.

`mode` :

Returns :

  Returns true if mode is set, and in which case, you must call debug_end when finished any screen output.

### camel_debug_end ()

    void                camel_debug_end                     (void);

Call this when you're done with your debug output. If and only if you called camel_debug_start, and if it returns TRUE.

### camel_verbose_debug

    extern int camel_verbose_debug;