libssh2_session_callback_set(3)

NAME
libssh2_session_callback_set - set a callback function

SYNOPSIS
#include <libssh2.h>

void *libssh2_session_callback_set(LIBSSH2_SESSION *session,
                                   int cbtype, void *callback);

DESCRIPTION
Sets a custom callback handler for a previously initialized session object. Callbacks are triggered by the receipt of special packets at the Transport layer. To disable a callback, set it to NULL.

session - Session instance as returned by libssh2_session_init_ex(3)

cbtype - Callback type. One of the types listed in Callback Types.

callback - Pointer to custom callback function. The prototype for this function must match the associated callback declaration macro.

CALLBACK TYPES

LIBSSH2_CALLBACK_IGNORE
    Called when a SSH_MSG_IGNORE message is received

LIBSSH2_CALLBACK_DEBUG
    Called when a SSH_MSG_DEBUG message is received

LIBSSH2_CALLBACK_DISCONNECT
    Called when a SSH_MSG_DISCONNECT message is received

LIBSSH2_CALLBACK_MACERROR
    Called when a mismatched MAC has been detected in the transport layer. If the function returns 0, the packet will be accepted nonetheless.

LIBSSH2_CALLBACK_X11
    Called when an X11 connection has been accepted

LIBSSH2_CALLBACK_SEND
    Called when libssh2 wants to send some data on the connection. Can be set to a custom function to handle I/O your own way.

LIBSSH2_CALLBACK_RECV
    Called when libssh2 wants to receive some data from the connection. Can be set to a custom function to handle I/O your own way.

RETURN VALUE
Pointer to previous callback handler. Returns NULL if no prior callback handler was set or the callback type was unknown.

SEE ALSO
libssh2_session_init_ex(3)