`libpcapnav` Manual
Prev |  | Next

# pcapnav_debug

## Name

pcapnav_debug --

## Synopsis

    void        pcapnav_debug_enter             (const char *function);
    void        pcapnav_debug_return            (const char *function);
    int         pcapnav_debuggable              (void);
    #define     D                               (x)
    #define     D_ASSERT                        (exp, msg)
    #define     D_ASSERT_PTR                    (ptr)
    #define     D_ENTER
    #define     D_RETURN
    #define     D_RETURN_                       (x)

## Description

## Details

### pcapnav_debug_enter ()

    void        pcapnav_debug_enter             (const char *function);

`function` :

### pcapnav_debug_return ()

    void        pcapnav_debug_return            (const char *function);

`function` :

### pcapnav_debuggable ()

    int         pcapnav_debuggable              (void);

Returns :

### D()

    #define     D(x)

Use this macro to output debugging information. `x` is the content as you would pass it to `printf()`, including braces to make the arguments appear as one argument to the macro. The macro is automatically deleted if -DPCAPNAV_DEBUG is not passed at build time.

`x` :

  debugging information.

### D_ASSERT()

    #define     D_ASSERT(exp, msg)

The macro outputs `msg` if the expression `exp` evaluates to FALSE.

`exp` :

  expression to evaluate.

`msg` :

  message to output if `exp` fails.

### D_ASSERT_PTR()

    #define     D_ASSERT_PTR(ptr)

The macro asserts the existence (i.e. non-NULL-ness) of the given pointer, and outpus a message if it is NULL.

`ptr` :

  pointer to check.

### D_ENTER

    #define     D_ENTER

The macro updates internal debugging state when entering the function where this macro is used. Use it at the beginning of a function, but don't forget to properly match up D_ENTER with D_RETURN! The macro outpus the name of the entered function indented by the current nesting level.

### D_RETURN

    #define     D_RETURN

The macro updates internal debugging state when leaving the function where this macro is used. Use this macro wherever the function can be left, and don't forget D_ENTER.

### D_RETURN_()

    #define     D_RETURN_(x)

Same as D_RETURN, but for return with an argument.

`x` :

Prev | Home | Next
pcapnav_timestamp | Up | pcapnav_macros