diff options
author | Andreas Schneider <mail@cynapses.org> | 2009-10-10 10:46:28 +0200 |
---|---|---|
committer | Andreas Schneider <mail@cynapses.org> | 2009-10-10 10:51:56 +0200 |
commit | be75fac7ff4e66ededa6d4353d99507fab4ebf42 (patch) | |
tree | 878f8fedfcdc584b708b3e8858f4b0fb1d20a78a | |
parent | 6ec65c6f9d1aefddaccf0a9816dae0b68a46ea33 (diff) | |
download | libssh-be75fac7ff4e66ededa6d4353d99507fab4ebf42.tar.gz libssh-be75fac7ff4e66ededa6d4353d99507fab4ebf42.tar.xz libssh-be75fac7ff4e66ededa6d4353d99507fab4ebf42.zip |
Add a function to set the callback structure to the session.
-rw-r--r-- | include/libssh/callback.h | 7 | ||||
-rw-r--r-- | libssh/CMakeLists.txt | 1 | ||||
-rw-r--r-- | libssh/callbacks.c | 37 |
3 files changed, 39 insertions, 6 deletions
diff --git a/include/libssh/callback.h b/include/libssh/callback.h index 51a2ece9..25f071a7 100644 --- a/include/libssh/callback.h +++ b/include/libssh/callback.h @@ -82,12 +82,7 @@ typedef struct ssh_callbacks_struct * ssh_callbacks; p->size=sizeof(*p); \ } while(0); -LIBSSH_API int ssh_set_auth_callback(ssh_session session, ssh_auth_callback cb, - void *userdata); -LIBSSH_API int ssh_set_log_callback(ssh_session session, - ssh_log_callback cb, void *userdata); -LIBSSH_API int ssh_set_status_callback(ssh_session session, void (*callback) - (void *arg, float status), void *arg); +LIBSSH_API int ssh_set_callbacks(ssh_session session, ssh_callbacks cb); #ifdef __cplusplus } diff --git a/libssh/CMakeLists.txt b/libssh/CMakeLists.txt index 1def4d98..7a4093da 100644 --- a/libssh/CMakeLists.txt +++ b/libssh/CMakeLists.txt @@ -72,6 +72,7 @@ set(libssh_SRCS auth.c base64.c buffer.c + callbacks.c channels.c client.c config.c diff --git a/libssh/callbacks.c b/libssh/callbacks.c new file mode 100644 index 00000000..7553ca61 --- /dev/null +++ b/libssh/callbacks.c @@ -0,0 +1,37 @@ +/* + * callbacks.c - callback functions + * + * This file is part of the SSH Library + * + * Copyright (c) 2009 by Andreas Schneider <mail@cynapses.org> + * + * The SSH Library is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or (at your + * option) any later version. + * + * The SSH Library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with the SSH Library; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + */ + +#include "config.h" + +#include "libssh/callbacks.h" +#include "libssh/session.h" + +int ssh_set_callbacks(ssh_session session, ssh_callbacks cb) { + if (session == NULL || cb == NULL) { + return -1; + } + + session->callbacks = cb; + + return 0; +} |