1 /* 2 * This file is part of the SSH Library 3 * 4 * Copyright (c) 2010 by Aris Adamantiadis 5 * 6 * The SSH Library is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU Lesser General Public License as published by 8 * the Free Software Foundation; either version 2.1 of the License, or (at your 9 * option) any later version. 10 * 11 * The SSH Library is distributed in the hope that it will be useful, but 12 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 13 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 14 * License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public License 17 * along with the SSH Library; see the file COPYING. If not, write to 18 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 * MA 02111-1307, USA. 20 */ 21 22 /* Since libssh.h includes legacy.h, it's important that libssh.h is included 23 * first. we don't define LEGACY_H now because we want it to be defined when 24 * included from libssh.h 25 * All function calls declared in this header are deprecated and meant to be 26 * removed in future. 27 */ 28 29 #include "libssh/libssh.h" 30 31 #ifndef LEGACY_H_ 32 #define LEGACY_H_ 33 34 typedef struct ssh_private_key_struct* ssh_private_key; 35 typedef struct ssh_public_key_struct* ssh_public_key; 36 37 LIBSSH_API int ssh_auth_list(ssh_session session); 38 LIBSSH_API int ssh_userauth_offer_pubkey(ssh_session session, const char *username, int type, ssh_string publickey); 39 LIBSSH_API int ssh_userauth_pubkey(ssh_session session, const char *username, ssh_string publickey, ssh_private_key privatekey); 40 #ifndef _WIN32 41 LIBSSH_API int ssh_userauth_agent_pubkey(ssh_session session, const char *username, 42 ssh_public_key publickey); 43 #endif 44 LIBSSH_API int ssh_userauth_autopubkey(ssh_session session, const char *passphrase); 45 LIBSSH_API int ssh_userauth_privatekey_file(ssh_session session, const char *username, 46 const char *filename, const char *passphrase); 47 48 LIBSSH_API void buffer_free(ssh_buffer buffer); 49 LIBSSH_API void *buffer_get(ssh_buffer buffer); 50 LIBSSH_API uint32_t buffer_get_len(ssh_buffer buffer); 51 LIBSSH_API ssh_buffer buffer_new(void); 52 53 LIBSSH_API ssh_channel channel_accept_x11(ssh_channel channel, int timeout_ms); 54 LIBSSH_API int channel_change_pty_size(ssh_channel channel,int cols,int rows); 55 LIBSSH_API ssh_channel channel_forward_accept(ssh_session session, int timeout_ms); 56 LIBSSH_API int channel_close(ssh_channel channel); 57 LIBSSH_API int channel_forward_cancel(ssh_session session, const char *address, int port); 58 LIBSSH_API int channel_forward_listen(ssh_session session, const char *address, int port, int *bound_port); 59 LIBSSH_API void channel_free(ssh_channel channel); 60 LIBSSH_API int channel_get_exit_status(ssh_channel channel); 61 LIBSSH_API ssh_session channel_get_session(ssh_channel channel); 62 LIBSSH_API int channel_is_closed(ssh_channel channel); 63 LIBSSH_API int channel_is_eof(ssh_channel channel); 64 LIBSSH_API int channel_is_open(ssh_channel channel); 65 LIBSSH_API ssh_channel channel_new(ssh_session session); 66 LIBSSH_API int channel_open_forward(ssh_channel channel, const char *remotehost, 67 int remoteport, const char *sourcehost, int localport); 68 LIBSSH_API int channel_open_session(ssh_channel channel); 69 LIBSSH_API int channel_poll(ssh_channel channel, int is_stderr); 70 LIBSSH_API int channel_read(ssh_channel channel, void *dest, uint32_t count, int is_stderr); 71 72 LIBSSH_API int channel_read_buffer(ssh_channel channel, ssh_buffer buffer, uint32_t count, 73 int is_stderr); 74 75 LIBSSH_API int channel_read_nonblocking(ssh_channel channel, void *dest, uint32_t count, 76 int is_stderr); 77 LIBSSH_API int channel_request_env(ssh_channel channel, const char *name, const char *value); 78 LIBSSH_API int channel_request_exec(ssh_channel channel, const char *cmd); 79 LIBSSH_API int channel_request_pty(ssh_channel channel); 80 LIBSSH_API int channel_request_pty_size(ssh_channel channel, const char *term, 81 int cols, int rows); 82 LIBSSH_API int channel_request_shell(ssh_channel channel); 83 LIBSSH_API int channel_request_send_signal(ssh_channel channel, const char *signum); 84 LIBSSH_API int channel_request_sftp(ssh_channel channel); 85 LIBSSH_API int channel_request_subsystem(ssh_channel channel, const char *subsystem); 86 LIBSSH_API int channel_request_x11(ssh_channel channel, int single_connection, const char *protocol, 87 const char *cookie, int screen_number); 88 LIBSSH_API int channel_send_eof(ssh_channel channel); 89 LIBSSH_API int channel_select(ssh_channel *readchans, ssh_channel *writechans, ssh_channel *exceptchans, struct 90 timeval * timeout); 91 LIBSSH_API void channel_set_blocking(ssh_channel channel, int blocking); 92 LIBSSH_API int channel_write(ssh_channel channel, const void *data, uint32_t len); 93 94 LIBSSH_API void privatekey_free(ssh_private_key prv); 95 LIBSSH_API ssh_private_key privatekey_from_file(ssh_session session, const char *filename, 96 int type, const char *passphrase); 97 LIBSSH_API void publickey_free(ssh_public_key key); 98 LIBSSH_API int ssh_publickey_to_file(ssh_session session, const char *file, 99 ssh_string pubkey, int type); 100 LIBSSH_API ssh_string publickey_from_file(ssh_session session, const char *filename, 101 int *type); 102 LIBSSH_API ssh_public_key publickey_from_privatekey(ssh_private_key prv); 103 LIBSSH_API ssh_string publickey_to_string(ssh_public_key key); 104 LIBSSH_API int ssh_try_publickey_from_file(ssh_session session, const char *keyfile, 105 ssh_string *publickey, int *type); 106 LIBSSH_API enum ssh_keytypes_e ssh_privatekey_type(ssh_private_key privatekey); 107 108 LIBSSH_API ssh_string ssh_get_pubkey(ssh_session session); 109 110 LIBSSH_API ssh_message ssh_message_retrieve(ssh_session session, uint32_t packettype); 111 LIBSSH_API ssh_public_key ssh_message_auth_publickey(ssh_message msg); 112 113 LIBSSH_API void string_burn(ssh_string str); 114 LIBSSH_API ssh_string string_copy(ssh_string str); 115 LIBSSH_API void *string_data(ssh_string str); 116 LIBSSH_API int string_fill(ssh_string str, const void *data, size_t len); 117 LIBSSH_API void string_free(ssh_string str); 118 LIBSSH_API ssh_string string_from_char(const char *what); 119 LIBSSH_API size_t string_len(ssh_string str); 120 LIBSSH_API ssh_string string_new(size_t size); 121 LIBSSH_API char *string_to_char(ssh_string str); 122 123 #endif /* LEGACY_H_ */ 124