SFTP client. More...
#include "ssh/ssh.h"#include "ssh/ssh_transport.h"#include "sftp/sftp_client.h"#include "sftp/sftp_client_packet.h"#include "sftp/sftp_client_misc.h"#include "debug.h"Go to the source code of this file.
Macros | |
| #define | TRACE_LEVEL SFTP_TRACE_LEVEL |
Functions | |
| error_t | sftpClientInit (SftpClientContext *context) |
| Initialize SFTP client context. More... | |
| error_t | sftpClientRegisterSshInitCallback (SftpClientContext *context, SftpClientSshInitCallback callback) |
| Register SSH initialization callback function. More... | |
| error_t | sftpClientSetTimeout (SftpClientContext *context, systime_t timeout) |
| Set communication timeout. More... | |
| error_t | sftpClientBindToInterface (SftpClientContext *context, NetInterface *interface) |
| Bind the SFTP client to a particular network interface. More... | |
| error_t | sftpClientConnect (SftpClientContext *context, const IpAddr *serverIpAddr, uint16_t serverPort) |
| Establish a connection with the specified SFTP server. More... | |
| const char_t * | sftpClientGetWorkingDir (SftpClientContext *context) |
| Get current working directory. More... | |
| error_t | sftpClientChangeWorkingDir (SftpClientContext *context, const char_t *path) |
| Change working directory. More... | |
| error_t | sftpClientChangeToParentDir (SftpClientContext *context) |
| Change to parent directory. More... | |
| error_t | sftpClientOpenDir (SftpClientContext *context, const char_t *path) |
| Open a directory. More... | |
| error_t | sftpClientReadDir (SftpClientContext *context, SftpDirEntry *dirEntry) |
| Read an entry from the directory. More... | |
| error_t | sftpClientCloseDir (SftpClientContext *context) |
| Close directory. More... | |
| error_t | sftpClientCreateDir (SftpClientContext *context, const char_t *path) |
| Create a new directory. More... | |
| error_t | sftpClientDeleteDir (SftpClientContext *context, const char_t *path) |
| Remove a directory. More... | |
| error_t | sftpClientOpenFile (SftpClientContext *context, const char_t *path, uint_t mode) |
| Open a file for reading, writing, or appending. More... | |
| error_t | sftpClientWriteFile (SftpClientContext *context, const void *data, size_t length, size_t *written, uint_t flags) |
| Write to a remote file. More... | |
| error_t | sftpClientReadFile (SftpClientContext *context, void *data, size_t size, size_t *received, uint_t flags) |
| Read from a remote file. More... | |
| error_t | sftpClientCloseFile (SftpClientContext *context) |
| Close file. More... | |
| error_t | sftpClientRenameFile (SftpClientContext *context, const char_t *oldPath, const char_t *newPath) |
| Rename a file. More... | |
| error_t | sftpClientDeleteFile (SftpClientContext *context, const char_t *path) |
| Delete a file. More... | |
| SftpStatusCode | sftpClientGetStatusCode (SftpClientContext *context) |
| Retrieve SFTP status code. More... | |
| error_t | sftpClientDisconnect (SftpClientContext *context) |
| Gracefully disconnect from the SFTP server. More... | |
| error_t | sftpClientClose (SftpClientContext *context) |
| Close the connection with the SFTP server. More... | |
| void | sftpClientDeinit (SftpClientContext *context) |
| Release SFTP client context. More... | |
Detailed Description
SFTP client.
License
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2019-2025 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneSSH Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- Version
- 2.5.4
Definition in file sftp_client.c.
Macro Definition Documentation
◆ TRACE_LEVEL
| #define TRACE_LEVEL SFTP_TRACE_LEVEL |
Definition at line 32 of file sftp_client.c.
Function Documentation
◆ sftpClientBindToInterface()
| error_t sftpClientBindToInterface | ( | SftpClientContext * | context, |
| NetInterface * | interface | ||
| ) |
Bind the SFTP client to a particular network interface.
- Parameters
-
[in] context Pointer to the SFTP client context [in] interface Network interface to be used
- Returns
- Error code
Definition at line 121 of file sftp_client.c.
◆ sftpClientChangeToParentDir()
| error_t sftpClientChangeToParentDir | ( | SftpClientContext * | context | ) |
Change to parent directory.
- Parameters
-
[in] context Pointer to the SFTP client context
- Returns
- Error code
Definition at line 434 of file sftp_client.c.
◆ sftpClientChangeWorkingDir()
| error_t sftpClientChangeWorkingDir | ( | SftpClientContext * | context, |
| const char_t * | path | ||
| ) |
Change working directory.
- Parameters
-
[in] context Pointer to the SFTP client context [in] path New current working directory
- Returns
- Error code
Definition at line 340 of file sftp_client.c.
◆ sftpClientClose()
| error_t sftpClientClose | ( | SftpClientContext * | context | ) |
Close the connection with the SFTP server.
- Parameters
-
[in] context Pointer to the SFTP client context
- Returns
- Error code
Definition at line 1571 of file sftp_client.c.
◆ sftpClientCloseDir()
| error_t sftpClientCloseDir | ( | SftpClientContext * | context | ) |
Close directory.
- Parameters
-
[in] context Pointer to the SFTP client context
- Returns
- Error code
Definition at line 663 of file sftp_client.c.
◆ sftpClientCloseFile()
| error_t sftpClientCloseFile | ( | SftpClientContext * | context | ) |
Close file.
- Parameters
-
[in] context Pointer to the SFTP client context
- Returns
- Error code
Definition at line 1237 of file sftp_client.c.
◆ sftpClientConnect()
| error_t sftpClientConnect | ( | SftpClientContext * | context, |
| const IpAddr * | serverIpAddr, | ||
| uint16_t | serverPort | ||
| ) |
Establish a connection with the specified SFTP server.
- Parameters
-
[in] context Pointer to the SFTP client context [in] serverIpAddr IP address of the SFTP server to connect to [in] serverPort Port number
- Returns
- Error code
Definition at line 144 of file sftp_client.c.
◆ sftpClientCreateDir()
| error_t sftpClientCreateDir | ( | SftpClientContext * | context, |
| const char_t * | path | ||
| ) |
Create a new directory.
- Parameters
-
[in] context Pointer to the SFTP client context [in] path Name of the new directory
- Returns
- Error code
Definition at line 724 of file sftp_client.c.
◆ sftpClientDeinit()
| void sftpClientDeinit | ( | SftpClientContext * | context | ) |
Release SFTP client context.
- Parameters
-
[in] context Pointer to the SFTP client context
Definition at line 1592 of file sftp_client.c.
◆ sftpClientDeleteDir()
| error_t sftpClientDeleteDir | ( | SftpClientContext * | context, |
| const char_t * | path | ||
| ) |
Remove a directory.
- Parameters
-
[in] context Pointer to the SFTP client context [in] path Path to the directory to be removed
- Returns
- Error code
Definition at line 784 of file sftp_client.c.
◆ sftpClientDeleteFile()
| error_t sftpClientDeleteFile | ( | SftpClientContext * | context, |
| const char_t * | path | ||
| ) |
Delete a file.
- Parameters
-
[in] context Pointer to the SFTP client context [in] path Path to the file to be be deleted
- Returns
- Error code
Definition at line 1364 of file sftp_client.c.
◆ sftpClientDisconnect()
| error_t sftpClientDisconnect | ( | SftpClientContext * | context | ) |
Gracefully disconnect from the SFTP server.
- Parameters
-
[in] context Pointer to the SFTP client context
- Returns
- Error code
Definition at line 1450 of file sftp_client.c.
◆ sftpClientGetStatusCode()
| SftpStatusCode sftpClientGetStatusCode | ( | SftpClientContext * | context | ) |
Retrieve SFTP status code.
- Parameters
-
[in] context Pointer to the SFTP client context
- Returns
- SFTP status code
Definition at line 1423 of file sftp_client.c.
◆ sftpClientGetWorkingDir()
| const char_t* sftpClientGetWorkingDir | ( | SftpClientContext * | context | ) |
Get current working directory.
- Parameters
-
[in] context Pointer to the SFTP client context
- Returns
- Path of the current directory
Definition at line 313 of file sftp_client.c.
◆ sftpClientInit()
| error_t sftpClientInit | ( | SftpClientContext * | context | ) |
Initialize SFTP client context.
- Parameters
-
[in] context Pointer to the SFTP client context
- Returns
- Error code
Definition at line 52 of file sftp_client.c.
◆ sftpClientOpenDir()
| error_t sftpClientOpenDir | ( | SftpClientContext * | context, |
| const char_t * | path | ||
| ) |
Open a directory.
- Parameters
-
[in] context Pointer to the SFTP client context [in] path Path to the directory to be be opened
- Returns
- Directory handle
Definition at line 448 of file sftp_client.c.
◆ sftpClientOpenFile()
| error_t sftpClientOpenFile | ( | SftpClientContext * | context, |
| const char_t * | path, | ||
| uint_t | mode | ||
| ) |
Open a file for reading, writing, or appending.
- Parameters
-
[in] context Pointer to the SFTP client context [in] path Path to the file to be be opened [in] mode File access mode
- Returns
- Error code
Definition at line 845 of file sftp_client.c.
◆ sftpClientReadDir()
| error_t sftpClientReadDir | ( | SftpClientContext * | context, |
| SftpDirEntry * | dirEntry | ||
| ) |
Read an entry from the directory.
- Parameters
-
[in] context Pointer to the SFTP client context [out] dirEntry Pointer to a directory entry
- Returns
- Error code
Definition at line 508 of file sftp_client.c.
◆ sftpClientReadFile()
| error_t sftpClientReadFile | ( | SftpClientContext * | context, |
| void * | data, | ||
| size_t | size, | ||
| size_t * | received, | ||
| uint_t | flags | ||
| ) |
Read from a remote file.
- Parameters
-
[in] context Pointer to the SFTP client context [out] data Buffer where to store the incoming data [in] size Maximum number of bytes that can be read [out] received Actual number of bytes that have been read [in] flags Set of flags that influences the behavior of this function
- Returns
- Error code
Definition at line 1086 of file sftp_client.c.
◆ sftpClientRegisterSshInitCallback()
| error_t sftpClientRegisterSshInitCallback | ( | SftpClientContext * | context, |
| SftpClientSshInitCallback | callback | ||
| ) |
Register SSH initialization callback function.
- Parameters
-
[in] context Pointer to the SFTP client context [in] callback SSH initialization callback function
- Returns
- Error code
Definition at line 78 of file sftp_client.c.
◆ sftpClientRenameFile()
| error_t sftpClientRenameFile | ( | SftpClientContext * | context, |
| const char_t * | oldPath, | ||
| const char_t * | newPath | ||
| ) |
Rename a file.
- Parameters
-
[in] context Pointer to the SFTP client context [in] oldPath Name of an existing file or directory [in] newPath New name for the file or directory
- Returns
- Error code
Definition at line 1299 of file sftp_client.c.
◆ sftpClientSetTimeout()
| error_t sftpClientSetTimeout | ( | SftpClientContext * | context, |
| systime_t | timeout | ||
| ) |
Set communication timeout.
- Parameters
-
[in] context Pointer to the SFTP client context [in] timeout Timeout value, in milliseconds
- Returns
- Error code
Definition at line 100 of file sftp_client.c.
◆ sftpClientWriteFile()
| error_t sftpClientWriteFile | ( | SftpClientContext * | context, |
| const void * | data, | ||
| size_t | length, | ||
| size_t * | written, | ||
| uint_t | flags | ||
| ) |
Write to a remote file.
- Parameters
-
[in] context Pointer to the SFTP client context [in] data Pointer to a buffer containing the data to be written [in] length Number of data bytes to write [in] written Number of bytes that have been written (optional parameter) [in] flags Set of flags that influences the behavior of this function
- Returns
- Error code
Definition at line 912 of file sftp_client.c.
