00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef _SSH_CALLBACK_H
00027 #define _SSH_CALLBACK_H
00028
00029 #include <libssh/libssh.h>
00030 #include <string.h>
00031
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035
00049 typedef int (*ssh_auth_callback) (const char *prompt, char *buf, size_t len,
00050 int echo, int verify, void *userdata);
00051 typedef void (*ssh_log_callback) (ssh_session session, int priority,
00052 const char *message, void *userdata);
00055 typedef void (*ssh_status_callback) (ssh_session session, float status,
00056 void *userdata);
00057
00058 struct ssh_callbacks_struct {
00060 size_t size;
00062 void *userdata;
00064 ssh_auth_callback auth_function;
00066 ssh_log_callback log_function;
00070 void (*connect_status_function)(void *userdata, float status);
00071 };
00072
00073 typedef struct ssh_callbacks_struct * ssh_callbacks;
00074
00081 #define ssh_callbacks_init(p) do {\
00082 (p)->size=sizeof(*(p)); \
00083 } while(0);
00084
00107 LIBSSH_API int ssh_set_callbacks(ssh_session session, ssh_callbacks cb);
00108
00109 #ifdef __cplusplus
00110 }
00111 #endif
00112
00113 #endif