diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2013-07-14 12:36:59 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2013-07-14 12:36:59 +0200 |
commit | 2c91efcc68d9a6aff9163e81df7a5024703084d4 (patch) | |
tree | b9cadb84146bab8e7d2a27c4e153b5caf3f73bde /include/libssh/callbacks.h | |
parent | 73309f19e582a712e78f54988fc51dbc5ab60bf4 (diff) | |
download | libssh-2c91efcc68d9a6aff9163e81df7a5024703084d4.tar.gz libssh-2c91efcc68d9a6aff9163e81df7a5024703084d4.tar.xz libssh-2c91efcc68d9a6aff9163e81df7a5024703084d4.zip |
log: Implment new logging functions.
Diffstat (limited to 'include/libssh/callbacks.h')
-rw-r--r-- | include/libssh/callbacks.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/include/libssh/callbacks.h b/include/libssh/callbacks.h index bc3eb79..7525b73 100644 --- a/include/libssh/callbacks.h +++ b/include/libssh/callbacks.h @@ -75,6 +75,24 @@ typedef void (*ssh_log_callback) (ssh_session session, int priority, const char *message, void *userdata); /** + * @brief SSH log callback. + * + * All logging messages will go through this callback. + * + * @param priority Priority of the log, the smaller being the more important. + * + * @param function The function name calling the the logging fucntions. + * + * @param message The actual message + * + * @param userdata Userdata to be passed to the callback function. + */ +typedef void (*ssh_logging_callback) (int priority, + const char *function, + const char *buffer, + void *userdata); + +/** * @brief SSH Connection status callback. * @param session Current session handler * @param status Percentage of connection status, going from 0.0 to 1.0 @@ -798,6 +816,22 @@ LIBSSH_API struct ssh_threads_callbacks_struct *ssh_threads_get_pthread(void); */ LIBSSH_API struct ssh_threads_callbacks_struct *ssh_threads_get_noop(void); +/** + * @brief Set the logging callback function. + * + * @param[in] cb The callback to set. + * + * @return 0 on success, < 0 on errror. + */ +LIBSSH_API int ssh_set_log_callback(ssh_logging_callback cb); + +/** + * @brief Get the pointer to the logging callback function. + * + * @return The pointer the the callback or NULL if none set. + */ +LIBSSH_API ssh_logging_callback ssh_get_log_callback(void); + /** @} */ #ifdef __cplusplus } |