libssh: callbacks.h Source File

libssh 0.10.5 The SSH library

Loading...
Searching...
No Matches
callbacks.h
1/*
2 * This file is part of the SSH Library
3 *
4 * Copyright (c) 2009 Aris Adamantiadis <aris@0xbadc0de.be>
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21/* callback.h
22 * This file includes the public declarations for the libssh callback mechanism
23 */
24
25#ifndef _SSH_CALLBACK_H
26#define _SSH_CALLBACK_H
27
28#include <libssh/libssh.h>
29#include <string.h>
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
49typedef void (*ssh_callback_int) (int code, void *user);
50
59typedef size_t (*ssh_callback_data) (const void *data, size_t len, void *user);
60
61typedef void (*ssh_callback_int_int) (int code, int errno_code, void *user);
62
63typedef int (*ssh_message_callback) (ssh_session, ssh_message message, void *user);
64typedef int (*ssh_channel_callback_int) (ssh_channel channel, int code, void *user);
65typedef int (*ssh_channel_callback_data) (ssh_channel channel, int code, void *data, size_t len, void *user);
66
74 typedef void (*ssh_log_callback) (ssh_session session, int priority,
75 const char *message, void *userdata);
76
90 typedef void (*ssh_logging_callback) (int priority,
91 const char *function,
92 const char *buffer,
93 void *userdata);
94
102 typedef void (*ssh_status_callback) (ssh_session session, float status,
103 void *userdata);
104
112 typedef void (*ssh_global_request_callback) (ssh_session session,
113 ssh_message message, void *userdata);
114
126 typedef ssh_channel (*ssh_channel_open_request_x11_callback) (ssh_session session,
127 const char * originator_address, int originator_port, void *userdata);
128
138 typedef ssh_channel (*ssh_channel_open_request_auth_agent_callback) (ssh_session session,
139 void *userdata);
140
144 struct ssh_callbacks_struct {
146 size_t size;
150 void *userdata;
154 ssh_auth_callback auth_function;
158 ssh_log_callback log_function;
163 void (*connect_status_function)(void *userdata, float status);
167 ssh_global_request_callback global_request_function;
170 ssh_channel_open_request_x11_callback channel_open_request_x11_function;
173 ssh_channel_open_request_auth_agent_callback channel_open_request_auth_agent_function;
174};
175typedef struct ssh_callbacks_struct *ssh_callbacks;
176
190 typedef int (*ssh_auth_password_callback) (ssh_session session, const char *user, const char *password,
191 void *userdata);
192
203 typedef int (*ssh_auth_none_callback) (ssh_session session, const char *user, void *userdata);
204
217 typedef int (*ssh_auth_gssapi_mic_callback) (ssh_session session, const char *user, const char *principal,
218 void *userdata);
219
233 typedef int (*ssh_auth_pubkey_callback) (ssh_session session, const char *user, struct ssh_key_struct *pubkey,
234 char signature_state, void *userdata);
235
236
246 typedef int (*ssh_service_request_callback) (ssh_session session, const char *service, void *userdata);
247
256 typedef ssh_channel (*ssh_channel_open_request_session_callback) (ssh_session session, void *userdata);
257
258/*
259 * @brief handle the beginning of a GSSAPI authentication, server side.
260 * @param session current session handler
261 * @param user the username of the client
262 * @param n_oid number of available oids
263 * @param oids OIDs provided by the client
264 * @returns an ssh_string containing the chosen OID, that's supported by both
265 * client and server.
266 * @warning It is not necessary to fill this callback in if libssh is linked
267 * with libgssapi.
268 */
269typedef ssh_string (*ssh_gssapi_select_oid_callback) (ssh_session session, const char *user,
270 int n_oid, ssh_string *oids, void *userdata);
271
272/*
273 * @brief handle the negotiation of a security context, server side.
274 * @param session current session handler
275 * @param[in] input_token input token provided by client
276 * @param[out] output_token output of the gssapi accept_sec_context method,
277 * NULL after completion.
278 * @returns SSH_OK if the token was generated correctly or accept_sec_context
279 * returned GSS_S_COMPLETE
280 * @returns SSH_ERROR in case of error
281 * @warning It is not necessary to fill this callback in if libssh is linked
282 * with libgssapi.
283 */
284typedef int (*ssh_gssapi_accept_sec_ctx_callback) (ssh_session session,
285 ssh_string input_token, ssh_string *output_token, void *userdata);
286
287/*
288 * @brief Verify and authenticates a MIC, server side.
289 * @param session current session handler
290 * @param[in] mic input mic to be verified provided by client
291 * @param[in] mic_buffer buffer of data to be signed.
292 * @param[in] mic_buffer_size size of mic_buffer
293 * @returns SSH_OK if the MIC was authenticated correctly
294 * @returns SSH_ERROR in case of error
295 * @warning It is not necessary to fill this callback in if libssh is linked
296 * with libgssapi.
297 */
298typedef int (*ssh_gssapi_verify_mic_callback) (ssh_session session,
299 ssh_string mic, void *mic_buffer, size_t mic_buffer_size, void *userdata);
300
301
306 struct ssh_server_callbacks_struct {
308 size_t size;
312 void *userdata;
316 ssh_auth_password_callback auth_password_function;
317
321 ssh_auth_none_callback auth_none_function;
322
326 ssh_auth_gssapi_mic_callback auth_gssapi_mic_function;
327
331 ssh_auth_pubkey_callback auth_pubkey_function;
332
336 ssh_service_request_callback service_request_function;
340 ssh_channel_open_request_session_callback channel_open_request_session_function;
343 ssh_gssapi_select_oid_callback gssapi_select_oid_function;
346 ssh_gssapi_accept_sec_ctx_callback gssapi_accept_sec_ctx_function;
347 /* This function will be called when a MIC needs to be verified.
348 */
349 ssh_gssapi_verify_mic_callback gssapi_verify_mic_function;
350};
351typedef struct ssh_server_callbacks_struct *ssh_server_callbacks;
352
377LIBSSH_API int ssh_set_server_callbacks(ssh_session session, ssh_server_callbacks cb);
378
383 struct ssh_socket_callbacks_struct {
387 void *userdata;
392 ssh_callback_data data;
396 ssh_callback_int controlflow;
400 ssh_callback_int_int exception;
404 ssh_callback_int_int connected;
405};
406typedef struct ssh_socket_callbacks_struct *ssh_socket_callbacks;
407
408#define SSH_SOCKET_FLOW_WRITEWILLBLOCK 1
409#define SSH_SOCKET_FLOW_WRITEWONTBLOCK 2
410
411#define SSH_SOCKET_EXCEPTION_EOF 1
412#define SSH_SOCKET_EXCEPTION_ERROR 2
413
414#define SSH_SOCKET_CONNECTED_OK 1
415#define SSH_SOCKET_CONNECTED_ERROR 2
416#define SSH_SOCKET_CONNECTED_TIMEOUT 3
417
425#define ssh_callbacks_init(p) do {\
426 (p)->size=sizeof(*(p)); \
427} while(0);
428
438#define ssh_callbacks_exists(p,c) (\
439 (p != NULL) && ( (char *)&((p)-> c) < (char *)(p) + (p)->size ) && \
440 ((p)-> c != NULL) \
441 )
442
459#define ssh_callbacks_execute_list(list, cbtype, c, ...) \
460 do { \
461 struct ssh_iterator *i = ssh_list_get_iterator(list); \
462 cbtype cb; \
463 while (i != NULL){ \
464 cb = ssh_iterator_value(cbtype, i); \
465 if (ssh_callbacks_exists(cb, c)) \
466 cb-> c (__VA_ARGS__, cb->userdata); \
467 i = i->next; \
468 } \
469 } while(0)
470
491#define ssh_callbacks_iterate(_cb_list, _cb_type, _cb_name) \
492 do { \
493 struct ssh_iterator *_cb_i = ssh_list_get_iterator(_cb_list); \
494 _cb_type _cb; \
495 for (; _cb_i != NULL; _cb_i = _cb_i->next) { \
496 _cb = ssh_iterator_value(_cb_type, _cb_i); \
497 if (ssh_callbacks_exists(_cb, _cb_name))
498
499#define ssh_callbacks_iterate_exec(_cb_name, ...) \
500 _cb->_cb_name(__VA_ARGS__, _cb->userdata)
501
502#define ssh_callbacks_iterate_end() \
503 } \
504 } while(0)
505
515 typedef int (*ssh_packet_callback) (ssh_session session, uint8_t type, ssh_buffer packet, void *user);
516
519#define SSH_PACKET_USED 1
522#define SSH_PACKET_NOT_USED 2
523
524
532#define SSH_PACKET_CALLBACK(name) \
533 int name (ssh_session session, uint8_t type, ssh_buffer packet, void *user)
534
535 struct ssh_packet_callbacks_struct {
537 uint8_t start;
539 uint8_t n_callbacks;
541 ssh_packet_callback *callbacks;
545 void *user;
546};
547
548typedef struct ssh_packet_callbacks_struct *ssh_packet_callbacks;
549
574LIBSSH_API int ssh_set_callbacks(ssh_session session, ssh_callbacks cb);
575
587 typedef int (*ssh_channel_data_callback) (ssh_session session,
588 ssh_channel channel,
589 void *data,
590 uint32_t len,
591 int is_stderr,
592 void *userdata);
593
600 typedef void (*ssh_channel_eof_callback) (ssh_session session,
601 ssh_channel channel,
602 void *userdata);
603
610 typedef void (*ssh_channel_close_callback) (ssh_session session,
611 ssh_channel channel,
612 void *userdata);
613
621 typedef void (*ssh_channel_signal_callback) (ssh_session session,
622 ssh_channel channel,
623 const char *signal,
624 void *userdata);
625
633 typedef void (*ssh_channel_exit_status_callback) (ssh_session session,
634 ssh_channel channel,
635 int exit_status,
636 void *userdata);
637
648 typedef void (*ssh_channel_exit_signal_callback) (ssh_session session,
649 ssh_channel channel,
650 const char *signal,
651 int core,
652 const char *errmsg,
653 const char *lang,
654 void *userdata);
655
669 typedef int (*ssh_channel_pty_request_callback) (ssh_session session,
670 ssh_channel channel,
671 const char *term,
672 int width, int height,
673 int pxwidth, int pwheight,
674 void *userdata);
675
684 typedef int (*ssh_channel_shell_request_callback) (ssh_session session,
685 ssh_channel channel,
686 void *userdata);
695 typedef void (*ssh_channel_auth_agent_req_callback) (ssh_session session,
696 ssh_channel channel,
697 void *userdata);
698
711 typedef void (*ssh_channel_x11_req_callback) (ssh_session session,
712 ssh_channel channel,
713 int single_connection,
714 const char *auth_protocol,
715 const char *auth_cookie,
716 uint32_t screen_number,
717 void *userdata);
730 typedef int (*ssh_channel_pty_window_change_callback) (ssh_session session,
731 ssh_channel channel,
732 int width, int height,
733 int pxwidth, int pwheight,
734 void *userdata);
735
745 typedef int (*ssh_channel_exec_request_callback) (ssh_session session,
746 ssh_channel channel,
747 const char *command,
748 void *userdata);
749
762 typedef int (*ssh_channel_env_request_callback) (ssh_session session,
763 ssh_channel channel,
764 const char *env_name,
765 const char *env_value,
766 void *userdata);
776 typedef int (*ssh_channel_subsystem_request_callback) (ssh_session session,
777 ssh_channel channel,
778 const char *subsystem,
779 void *userdata);
780
795 typedef int (*ssh_channel_write_wontblock_callback) (ssh_session session,
796 ssh_channel channel,
797 uint32_t bytes,
798 void *userdata);
799
800 struct ssh_channel_callbacks_struct {
802 size_t size;
806 void *userdata;
810 ssh_channel_data_callback channel_data_function;
814 ssh_channel_eof_callback channel_eof_function;
818 ssh_channel_close_callback channel_close_function;
822 ssh_channel_signal_callback channel_signal_function;
826 ssh_channel_exit_status_callback channel_exit_status_function;
830 ssh_channel_exit_signal_callback channel_exit_signal_function;
834 ssh_channel_pty_request_callback channel_pty_request_function;
838 ssh_channel_shell_request_callback channel_shell_request_function;
842 ssh_channel_auth_agent_req_callback channel_auth_agent_req_function;
846 ssh_channel_x11_req_callback channel_x11_req_function;
850 ssh_channel_pty_window_change_callback channel_pty_window_change_function;
854 ssh_channel_exec_request_callback channel_exec_request_function;
858 ssh_channel_env_request_callback channel_env_request_function;
862 ssh_channel_subsystem_request_callback channel_subsystem_request_function;
866 ssh_channel_write_wontblock_callback channel_write_wontblock_function;
867};
868
869typedef struct ssh_channel_callbacks_struct *ssh_channel_callbacks;
870
898LIBSSH_API int ssh_set_channel_callbacks(ssh_channel channel,
899 ssh_channel_callbacks cb);
900
917LIBSSH_API int ssh_add_channel_callbacks(ssh_channel channel,
918 ssh_channel_callbacks cb);
919
932LIBSSH_API int ssh_remove_channel_callbacks(ssh_channel channel,
933 ssh_channel_callbacks cb);
934
941typedef int (*ssh_thread_callback) (void **lock);
942
943typedef unsigned long (*ssh_thread_id_callback) (void);
944 struct ssh_threads_callbacks_struct {
945 const char *type;
946 ssh_thread_callback mutex_init;
947 ssh_thread_callback mutex_destroy;
948 ssh_thread_callback mutex_lock;
949 ssh_thread_callback mutex_unlock;
950 ssh_thread_id_callback thread_id;
951};
952
970LIBSSH_API int ssh_threads_set_callbacks(struct ssh_threads_callbacks_struct
971 *cb);
972
982LIBSSH_API struct ssh_threads_callbacks_struct *ssh_threads_get_default(void);
983
990LIBSSH_API struct ssh_threads_callbacks_struct *ssh_threads_get_pthread(void);
991
1002LIBSSH_API struct ssh_threads_callbacks_struct *ssh_threads_get_noop(void);
1003
1011LIBSSH_API int ssh_set_log_callback(ssh_logging_callback cb);
1012
1018LIBSSH_API ssh_logging_callback ssh_get_log_callback(void);
1019
1021#ifdef __cplusplus
1022}
1023#endif
1024
1025#endif /*_SSH_CALLBACK_H */
1026
1027/* @} */
ssh_auth_callback
int(* ssh_auth_callback)(const char *prompt, char *buf, size_t len, int echo, int verify, void *userdata)
SSH authentication callback for password and publickey auth.
Definition: libssh.h:674
ssh_channel_pty_request_callback
int(* ssh_channel_pty_request_callback)(ssh_session session, ssh_channel channel, const char *term, int width, int height, int pxwidth, int pwheight, void *userdata)
SSH channel PTY request from a client.
Definition: callbacks.h:669
ssh_set_callbacks
LIBSSH_API int ssh_set_callbacks(ssh_session session, ssh_callbacks cb)
Set the session callback functions.
Definition: callbacks.c:48
ssh_add_channel_callbacks
LIBSSH_API int ssh_add_channel_callbacks(ssh_channel channel, ssh_channel_callbacks cb)
Add channel callback functions.
Definition: callbacks.c:109
ssh_channel_pty_window_change_callback
int(* ssh_channel_pty_window_change_callback)(ssh_session session, ssh_channel channel, int width, int height, int pxwidth, int pwheight, void *userdata)
SSH channel PTY windows change (terminal size) from a client.
Definition: callbacks.h:730
ssh_channel_exec_request_callback
int(* ssh_channel_exec_request_callback)(ssh_session session, ssh_channel channel, const char *command, void *userdata)
SSH channel Exec request from a client.
Definition: callbacks.h:745
ssh_channel_x11_req_callback
void(* ssh_channel_x11_req_callback)(ssh_session session, ssh_channel channel, int single_connection, const char *auth_protocol, const char *auth_cookie, uint32_t screen_number, void *userdata)
SSH X11 request from the client. This request is sent by a client when X11 forwarding is requested(an...
Definition: callbacks.h:711
ssh_channel_shell_request_callback
int(* ssh_channel_shell_request_callback)(ssh_session session, ssh_channel channel, void *userdata)
SSH channel Shell request from a client.
Definition: callbacks.h:684
ssh_channel_data_callback
int(* ssh_channel_data_callback)(ssh_session session, ssh_channel channel, void *data, uint32_t len, int is_stderr, void *userdata)
SSH channel data callback. Called when data is available on a channel.
Definition: callbacks.h:587
ssh_channel_eof_callback
void(* ssh_channel_eof_callback)(ssh_session session, ssh_channel channel, void *userdata)
SSH channel eof callback. Called when a channel receives EOF.
Definition: callbacks.h:600
ssh_channel_close_callback
void(* ssh_channel_close_callback)(ssh_session session, ssh_channel channel, void *userdata)
SSH channel close callback. Called when a channel is closed by remote peer.
Definition: callbacks.h:610
ssh_channel_signal_callback
void(* ssh_channel_signal_callback)(ssh_session session, ssh_channel channel, const char *signal, void *userdata)
SSH channel signal callback. Called when a channel has received a signal.
Definition: callbacks.h:621
ssh_auth_pubkey_callback
int(* ssh_auth_pubkey_callback)(ssh_session session, const char *user, struct ssh_key_struct *pubkey, char signature_state, void *userdata)
SSH authentication callback.
Definition: callbacks.h:233
ssh_packet_callback
int(* ssh_packet_callback)(ssh_session session, uint8_t type, ssh_buffer packet, void *user)
Prototype for a packet callback, to be called when a new packet arrives.
Definition: callbacks.h:515
ssh_channel_exit_status_callback
void(* ssh_channel_exit_status_callback)(ssh_session session, ssh_channel channel, int exit_status, void *userdata)
SSH channel exit status callback. Called when a channel has received an exit status.
Definition: callbacks.h:633
ssh_channel_open_request_x11_callback
ssh_channel(* ssh_channel_open_request_x11_callback)(ssh_session session, const char *originator_address, int originator_port, void *userdata)
Handles an SSH new channel open X11 request. This happens when the server sends back an X11 connectio...
Definition: callbacks.h:126
ssh_auth_none_callback
int(* ssh_auth_none_callback)(ssh_session session, const char *user, void *userdata)
SSH authentication callback. Tries to authenticates user with the "none" method which is anonymous or...
Definition: callbacks.h:203
ssh_log_callback
void(* ssh_log_callback)(ssh_session session, int priority, const char *message, void *userdata)
SSH log callback. All logging messages will go through this callback.
Definition: callbacks.h:74
ssh_service_request_callback
int(* ssh_service_request_callback)(ssh_session session, const char *service, void *userdata)
Handles an SSH service request.
Definition: callbacks.h:246
ssh_set_server_callbacks
LIBSSH_API int ssh_set_server_callbacks(ssh_session session, ssh_server_callbacks cb)
Set the session server callback functions.
Definition: callbacks.c:133
ssh_channel_open_request_auth_agent_callback
ssh_channel(* ssh_channel_open_request_auth_agent_callback)(ssh_session session, void *userdata)
Handles an SSH new channel open "auth-agent" request. This happens when the server sends back an "aut...
Definition: callbacks.h:138
ssh_channel_write_wontblock_callback
int(* ssh_channel_write_wontblock_callback)(ssh_session session, ssh_channel channel, uint32_t bytes, void *userdata)
SSH channel write will not block (flow control).
Definition: callbacks.h:795
ssh_auth_gssapi_mic_callback
int(* ssh_auth_gssapi_mic_callback)(ssh_session session, const char *user, const char *principal, void *userdata)
SSH authentication callback. Tries to authenticates user with the "gssapi-with-mic" method.
Definition: callbacks.h:217
ssh_logging_callback
void(* ssh_logging_callback)(int priority, const char *function, const char *buffer, void *userdata)
SSH log callback.
Definition: callbacks.h:90
ssh_status_callback
void(* ssh_status_callback)(ssh_session session, float status, void *userdata)
SSH Connection status callback.
Definition: callbacks.h:102
ssh_channel_open_request_session_callback
ssh_channel(* ssh_channel_open_request_session_callback)(ssh_session session, void *userdata)
Handles an SSH new channel open session request.
Definition: callbacks.h:256
ssh_channel_exit_signal_callback
void(* ssh_channel_exit_signal_callback)(ssh_session session, ssh_channel channel, const char *signal, int core, const char *errmsg, const char *lang, void *userdata)
SSH channel exit signal callback. Called when a channel has received an exit signal.
Definition: callbacks.h:648
ssh_set_channel_callbacks
LIBSSH_API int ssh_set_channel_callbacks(ssh_channel channel, ssh_channel_callbacks cb)
Set the channel callback functions.
Definition: callbacks.c:104
ssh_auth_password_callback
int(* ssh_auth_password_callback)(ssh_session session, const char *user, const char *password, void *userdata)
SSH authentication callback.
Definition: callbacks.h:190
ssh_remove_channel_callbacks
LIBSSH_API int ssh_remove_channel_callbacks(ssh_channel channel, ssh_channel_callbacks cb)
Remove a channel callback.
Definition: callbacks.c:114
ssh_channel_env_request_callback
int(* ssh_channel_env_request_callback)(ssh_session session, ssh_channel channel, const char *env_name, const char *env_value, void *userdata)
SSH channel environment request from a client.
Definition: callbacks.h:762
ssh_global_request_callback
void(* ssh_global_request_callback)(ssh_session session, ssh_message message, void *userdata)
SSH global request callback. All global request will go through this callback.
Definition: callbacks.h:112
ssh_channel_auth_agent_req_callback
void(* ssh_channel_auth_agent_req_callback)(ssh_session session, ssh_channel channel, void *userdata)
SSH auth-agent-request from the client. This request is sent by a client when agent forwarding is ava...
Definition: callbacks.h:695
ssh_channel_subsystem_request_callback
int(* ssh_channel_subsystem_request_callback)(ssh_session session, ssh_channel channel, const char *subsystem, void *userdata)
SSH channel subsystem request from a client.
Definition: callbacks.h:776
ssh_threads_get_pthread
LIBSSH_API struct ssh_threads_callbacks_struct * ssh_threads_get_pthread(void)
Returns a pointer on the pthread threads callbacks, to be used with ssh_threads_set_callbacks.
Definition: pthread.c:137
ssh_threads_get_default
LIBSSH_API struct ssh_threads_callbacks_struct * ssh_threads_get_default(void)
Returns a pointer to the appropriate callbacks structure for the environment, to be used with ssh_thr...
Definition: noop.c:65
ssh_set_log_callback
LIBSSH_API int ssh_set_log_callback(ssh_logging_callback cb)
Set the logging callback function.
Definition: log.c:214
ssh_threads_get_noop
LIBSSH_API struct ssh_threads_callbacks_struct * ssh_threads_get_noop(void)
Get the noop threads callbacks structure.
Definition: noop.c:71
ssh_get_log_callback
LIBSSH_API ssh_logging_callback ssh_get_log_callback(void)
Get the pointer to the logging callback function.
Definition: log.c:224
ssh_threads_set_callbacks
LIBSSH_API int ssh_threads_set_callbacks(struct ssh_threads_callbacks_struct *cb)
Set the thread callbacks structure.
Definition: threads.c:71
ssh_buffer_struct
Definition: buffer.c:48
ssh_callbacks_struct
Definition: callbacks.h:144
ssh_callbacks_struct::channel_open_request_auth_agent_function
ssh_channel_open_request_auth_agent_callback channel_open_request_auth_agent_function
Definition: callbacks.h:173
ssh_callbacks_struct::log_function
ssh_log_callback log_function
Definition: callbacks.h:158
ssh_callbacks_struct::auth_function
ssh_auth_callback auth_function
Definition: callbacks.h:154
ssh_callbacks_struct::channel_open_request_x11_function
ssh_channel_open_request_x11_callback channel_open_request_x11_function
Definition: callbacks.h:170
ssh_callbacks_struct::userdata
void * userdata
Definition: callbacks.h:150
ssh_callbacks_struct::size
size_t size
Definition: callbacks.h:146
ssh_callbacks_struct::connect_status_function
void(* connect_status_function)(void *userdata, float status)
Definition: callbacks.h:163
ssh_callbacks_struct::global_request_function
ssh_global_request_callback global_request_function
Definition: callbacks.h:167
ssh_channel_callbacks_struct
Definition: callbacks.h:800
ssh_channel_callbacks_struct::channel_data_function
ssh_channel_data_callback channel_data_function
Definition: callbacks.h:810
ssh_channel_callbacks_struct::channel_write_wontblock_function
ssh_channel_write_wontblock_callback channel_write_wontblock_function
Definition: callbacks.h:866
ssh_channel_callbacks_struct::channel_x11_req_function
ssh_channel_x11_req_callback channel_x11_req_function
Definition: callbacks.h:846
ssh_channel_callbacks_struct::channel_exit_status_function
ssh_channel_exit_status_callback channel_exit_status_function
Definition: callbacks.h:826
ssh_channel_callbacks_struct::channel_shell_request_function
ssh_channel_shell_request_callback channel_shell_request_function
Definition: callbacks.h:838
ssh_channel_callbacks_struct::channel_env_request_function
ssh_channel_env_request_callback channel_env_request_function
Definition: callbacks.h:858
ssh_channel_callbacks_struct::channel_subsystem_request_function
ssh_channel_subsystem_request_callback channel_subsystem_request_function
Definition: callbacks.h:862
ssh_channel_callbacks_struct::channel_eof_function
ssh_channel_eof_callback channel_eof_function
Definition: callbacks.h:814
ssh_channel_callbacks_struct::size
size_t size
Definition: callbacks.h:802
ssh_channel_callbacks_struct::channel_pty_window_change_function
ssh_channel_pty_window_change_callback channel_pty_window_change_function
Definition: callbacks.h:850
ssh_channel_callbacks_struct::channel_auth_agent_req_function
ssh_channel_auth_agent_req_callback channel_auth_agent_req_function
Definition: callbacks.h:842
ssh_channel_callbacks_struct::channel_exit_signal_function
ssh_channel_exit_signal_callback channel_exit_signal_function
Definition: callbacks.h:830
ssh_channel_callbacks_struct::channel_pty_request_function
ssh_channel_pty_request_callback channel_pty_request_function
Definition: callbacks.h:834
ssh_channel_callbacks_struct::userdata
void * userdata
Definition: callbacks.h:806
ssh_channel_callbacks_struct::channel_signal_function
ssh_channel_signal_callback channel_signal_function
Definition: callbacks.h:822
ssh_channel_callbacks_struct::channel_close_function
ssh_channel_close_callback channel_close_function
Definition: callbacks.h:818
ssh_channel_callbacks_struct::channel_exec_request_function
ssh_channel_exec_request_callback channel_exec_request_function
Definition: callbacks.h:854
ssh_channel_struct
Definition: channels.h:66
ssh_key_struct
Definition: pki.h:54
ssh_message_struct
Definition: messages.h:85
ssh_packet_callbacks_struct
Definition: callbacks.h:535
ssh_packet_callbacks_struct::start
uint8_t start
Definition: callbacks.h:537
ssh_packet_callbacks_struct::callbacks
ssh_packet_callback * callbacks
Definition: callbacks.h:541
ssh_packet_callbacks_struct::user
void * user
Definition: callbacks.h:545
ssh_packet_callbacks_struct::n_callbacks
uint8_t n_callbacks
Definition: callbacks.h:539
ssh_server_callbacks_struct
Definition: callbacks.h:306
ssh_server_callbacks_struct::gssapi_accept_sec_ctx_function
ssh_gssapi_accept_sec_ctx_callback gssapi_accept_sec_ctx_function
Definition: callbacks.h:346
ssh_server_callbacks_struct::service_request_function
ssh_service_request_callback service_request_function
Definition: callbacks.h:336
ssh_server_callbacks_struct::size
size_t size
Definition: callbacks.h:308
ssh_server_callbacks_struct::auth_none_function
ssh_auth_none_callback auth_none_function
Definition: callbacks.h:321
ssh_server_callbacks_struct::auth_gssapi_mic_function
ssh_auth_gssapi_mic_callback auth_gssapi_mic_function
Definition: callbacks.h:326
ssh_server_callbacks_struct::channel_open_request_session_function
ssh_channel_open_request_session_callback channel_open_request_session_function
Definition: callbacks.h:340
ssh_server_callbacks_struct::auth_password_function
ssh_auth_password_callback auth_password_function
Definition: callbacks.h:316
ssh_server_callbacks_struct::auth_pubkey_function
ssh_auth_pubkey_callback auth_pubkey_function
Definition: callbacks.h:331
ssh_server_callbacks_struct::userdata
void * userdata
Definition: callbacks.h:312
ssh_server_callbacks_struct::gssapi_select_oid_function
ssh_gssapi_select_oid_callback gssapi_select_oid_function
Definition: callbacks.h:343
ssh_session_struct
Definition: session.h:121
ssh_socket_callbacks_struct
Definition: callbacks.h:383
ssh_socket_callbacks_struct::userdata
void * userdata
Definition: callbacks.h:387
ssh_socket_callbacks_struct::data
ssh_callback_data data
Definition: callbacks.h:392
ssh_socket_callbacks_struct::connected
ssh_callback_int_int connected
Definition: callbacks.h:404
ssh_socket_callbacks_struct::controlflow
ssh_callback_int controlflow
Definition: callbacks.h:396
ssh_socket_callbacks_struct::exception
ssh_callback_int_int exception
Definition: callbacks.h:400
ssh_string_struct
Definition: string.h:33
ssh_threads_callbacks_struct
Definition: callbacks.h:944