silc_buffer_push

SYNOPSIS

    static inline
    unsigned char *silc_buffer_push(SilcBuffer sb, SilcUInt32 len);

DESCRIPTION

Pushes current data area towards beginning. Length of the currently valid data area is also incremented. Returns a pointer to the data area before pushing. Returns NULL if the push would lead to go beyond the buffer boundaries or current data area.

EXAMPLE

    ---------------------------------
    | head     | data    | tail     |
    ---------------------------------
               ^
               Pushes the start of the data area.

    ---------------------------------
    | head  | data       | tail     |
    ---------------------------------
               ^

    silc_buffer_push(sb, 20);