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.

RELATED TO libssh2_session_callback_set…