libssh2_session_callback_set(3) 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.