aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/libssh/libssh.h1
-rw-r--r--include/libssh/priv.h2
-rw-r--r--include/libssh/server.h2
-rw-r--r--libssh/channels.c19
-rw-r--r--libssh/server.c17
5 files changed, 22 insertions, 19 deletions
diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h
index 8d2075f5..924992a2 100644
--- a/include/libssh/libssh.h
+++ b/include/libssh/libssh.h
@@ -285,7 +285,6 @@ int channel_request_env(ssh_channel channel, const char *name, const char *value
int channel_request_exec(ssh_channel channel, const char *cmd);
int channel_request_sftp(ssh_channel channel);
int channel_write(ssh_channel channel, const void *data, uint32_t len);
-int channel_write_stderr(ssh_channel channel, const void *data, uint32_t len);
int channel_send_eof(ssh_channel channel);
int channel_is_eof(ssh_channel channel);
int channel_read(ssh_channel channel, void *dest, uint32_t count, int is_stderr);
diff --git a/include/libssh/priv.h b/include/libssh/priv.h
index 6b1cd3cb..ead6cfc3 100644
--- a/include/libssh/priv.h
+++ b/include/libssh/priv.h
@@ -689,6 +689,8 @@ int channel_default_bufferize(ssh_channel channel, void *data, int len,
int is_stderr);
uint32_t ssh_channel_new_id(SSH_SESSION *session);
ssh_channel ssh_channel_from_local(SSH_SESSION *session, uint32_t id);
+int channel_write_common(ssh_channel channel, const void *data,
+ uint32_t len, int is_stderr);
/* options.c */
diff --git a/include/libssh/server.h b/include/libssh/server.h
index 69eb50b2..e5a921d5 100644
--- a/include/libssh/server.h
+++ b/include/libssh/server.h
@@ -121,6 +121,8 @@ void ssh_bind_free(SSH_BIND *ssh_bind);
*/
int ssh_accept(SSH_SESSION *session);
+int channel_write_stderr(ssh_channel channel, const void *data, uint32_t len);
+
/* messages.c */
#define SSH_AUTH_REQUEST 1
diff --git a/libssh/channels.c b/libssh/channels.c
index 8a5ab2ad..8b190b4e 100644
--- a/libssh/channels.c
+++ b/libssh/channels.c
@@ -858,7 +858,7 @@ error:
return rc;
}
-static int channel_write_common(ssh_channel channel, const void *data,
+int channel_write_common(ssh_channel channel, const void *data,
uint32_t len, int is_stderr) {
SSH_SESSION *session = channel->session;
int origlen = len;
@@ -959,23 +959,6 @@ int channel_write(ssh_channel channel, const void *data, uint32_t len) {
}
/**
- * @brief Blocking write on channel for stderr.
- *
- * @param channel The channel to write to.
- *
- * @param data A pointer to the data to write.
- *
- * @param len The length of the buffer to write to.
- *
- * @return The number of bytes written, SSH_ERROR on error.
- *
- * @see channel_read()
- */
-int channel_write_stderr(ssh_channel channel, const void *data, uint32_t len) {
- return channel_write_common(channel, data, len, 1);
-}
-
-/**
* @brief Check if the channel is open or not.
*
* @param channel The channel to check.
diff --git a/libssh/server.c b/libssh/server.c
index 8df0a1b9..8e7a26a0 100644
--- a/libssh/server.c
+++ b/libssh/server.c
@@ -510,6 +510,23 @@ int ssh_accept(SSH_SESSION *session) {
return 0;
}
+/**
+ * @brief Blocking write on channel for stderr.
+ *
+ * @param channel The channel to write to.
+ *
+ * @param data A pointer to the data to write.
+ *
+ * @param len The length of the buffer to write to.
+ *
+ * @return The number of bytes written, SSH_ERROR on error.
+ *
+ * @see channel_read()
+ */
+int channel_write_stderr(ssh_channel channel, const void *data, uint32_t len) {
+ return channel_write_common(channel, data, len, 1);
+}
+
/** @}
*/
/* vim: set ts=2 sw=2 et cindent: */