|
libssh 0.5.2
|
Functions | |
| int | sftp_async_read (sftp_file file, void *data, uint32_t len, uint32_t id) |
| Wait for an asynchronous read to complete and save the data. | |
| int | sftp_async_read_begin (sftp_file file, uint32_t len) |
| Start an asynchronous read from a file using an opened sftp file handle. | |
| void | sftp_attributes_free (sftp_attributes file) |
| Free a sftp attribute structure. | |
| char * | sftp_canonicalize_path (sftp_session sftp, const char *path) |
| Canonicalize a sftp path. | |
| int | sftp_chmod (sftp_session sftp, const char *file, mode_t mode) |
| Change permissions of a file. | |
| int | sftp_chown (sftp_session sftp, const char *file, uid_t owner, gid_t group) |
| Change the file owner and group. | |
| int | sftp_close (sftp_file file) |
| Close an open file handle. | |
| int | sftp_closedir (sftp_dir dir) |
| Close a directory handle opened by sftp_opendir(). | |
| int | sftp_dir_eof (sftp_dir dir) |
| Tell if the directory has reached EOF (End Of File). | |
| int | sftp_extension_supported (sftp_session sftp, const char *name, const char *data) |
| Check if the given extension is supported. | |
| unsigned int | sftp_extensions_get_count (sftp_session sftp) |
| Get the count of extensions provided by the server. | |
| const char * | sftp_extensions_get_data (sftp_session sftp, unsigned int indexn) |
| Get the data of the extension provided by the server. | |
| const char * | sftp_extensions_get_name (sftp_session sftp, unsigned int indexn) |
| Get the name of the extension provided by the server. | |
| void | sftp_free (sftp_session sftp) |
| Close and deallocate a sftp session. | |
| sftp_attributes | sftp_fstat (sftp_file file) |
| Get information about a file or directory from a file handle. | |
| sftp_statvfs_t | sftp_fstatvfs (sftp_file file) |
| Get information about a mounted file system. | |
| int | sftp_get_error (sftp_session sftp) |
| Get the last sftp error. | |
| int | sftp_init (sftp_session sftp) |
| Initialize the sftp session with the server. | |
| sftp_attributes | sftp_lstat (sftp_session session, const char *path) |
| Get information about a file or directory. | |
| int | sftp_mkdir (sftp_session sftp, const char *directory, mode_t mode) |
| Create a directory. | |
| sftp_session | sftp_new (ssh_session session) |
| Start a new sftp session. | |
| sftp_file | sftp_open (sftp_session session, const char *file, int accesstype, mode_t mode) |
| Open a file on the server. | |
| sftp_dir | sftp_opendir (sftp_session session, const char *path) |
| Open a directory used to obtain directory entries. | |
| ssize_t | sftp_read (sftp_file file, void *buf, size_t count) |
| Read from a file using an opened sftp file handle. | |
| sftp_attributes | sftp_readdir (sftp_session session, sftp_dir dir) |
| Get a single file attributes structure of a directory. | |
| char * | sftp_readlink (sftp_session sftp, const char *path) |
| Read the value of a symbolic link. | |
| int | sftp_rename (sftp_session sftp, const char *original, const char *newname) |
| Rename or move a file or directory. | |
| void | sftp_rewind (sftp_file file) |
| Rewinds the position of the file pointer to the beginning of the file. | |
| int | sftp_rmdir (sftp_session sftp, const char *directory) |
| Remove a directoy. | |
| int | sftp_seek (sftp_file file, uint32_t new_offset) |
| Seek to a specific location in a file. | |
| int | sftp_seek64 (sftp_file file, uint64_t new_offset) |
| Seek to a specific location in a file. | |
| int | sftp_server_version (sftp_session sftp) |
| Get the version of the SFTP protocol supported by the server. | |
| int | sftp_setstat (sftp_session sftp, const char *file, sftp_attributes attr) |
| Set file attributes on a file, directory or symbolic link. | |
| sftp_attributes | sftp_stat (sftp_session session, const char *path) |
| Get information about a file or directory. | |
| sftp_statvfs_t | sftp_statvfs (sftp_session sftp, const char *path) |
| Get information about a mounted file system. | |
| void | sftp_statvfs_free (sftp_statvfs_t statvfs_o) |
| Free the memory of an allocated statvfs. | |
| int | sftp_symlink (sftp_session sftp, const char *target, const char *dest) |
| Create a symbolic link. | |
| unsigned long | sftp_tell (sftp_file file) |
| Report current byte position in file. | |
| uint64_t | sftp_tell64 (sftp_file file) |
| Report current byte position in file. | |
| int | sftp_unlink (sftp_session sftp, const char *file) |
| Unlink (delete) a file. | |
| int | sftp_utimes (sftp_session sftp, const char *file, const struct timeval *times) |
| Change the last modification and access time of a file. | |
| ssize_t | sftp_write (sftp_file file, const void *buf, size_t count) |
| Write to a file using an opened sftp file handle. | |
Server responses | |
| Responses returned by the sftp server. | |
| #define | SSH_FX_OK 0 |
| No error. | |
| #define | SSH_FX_EOF 1 |
| End-of-file encountered. | |
| #define | SSH_FX_NO_SUCH_FILE 2 |
| File doesn't exist. | |
| #define | SSH_FX_PERMISSION_DENIED 3 |
| Permission denied. | |
| #define | SSH_FX_FAILURE 4 |
| Generic failure. | |
| #define | SSH_FX_BAD_MESSAGE 5 |
| Garbage received from server. | |
| #define | SSH_FX_NO_CONNECTION 6 |
| No connection has been set up. | |
| #define | SSH_FX_CONNECTION_LOST 7 |
| There was a connection, but we lost it. | |
| #define | SSH_FX_OP_UNSUPPORTED 8 |
| Operation not supported by the server. | |
| #define | SSH_FX_INVALID_HANDLE 9 |
| Invalid file handle. | |
| #define | SSH_FX_NO_SUCH_PATH 10 |
| No such file or directory path exists. | |
| #define | SSH_FX_FILE_ALREADY_EXISTS 11 |
| An attempt to create an already existing file or directory has been made. | |
| #define | SSH_FX_WRITE_PROTECT 12 |
| We are trying to write on a write-protected filesystem. | |
| #define | SSH_FX_NO_MEDIA 13 |
| No media in remote drive. | |
| int sftp_async_read | ( | sftp_file | file, |
| void * | data, | ||
| uint32_t | len, | ||
| uint32_t | id | ||
| ) |
Wait for an asynchronous read to complete and save the data.
| file | The opened sftp file handle to be read from. |
| data | Pointer to buffer to recieve read data. |
| len | Size of the buffer in bytes. It should be bigger or equal to the length parameter of the sftp_async_read_begin() call. |
| id | The identifier returned by the sftp_async_read_begin() function. |
| int sftp_async_read_begin | ( | sftp_file | file, |
| uint32_t | len | ||
| ) |
Start an asynchronous read from a file using an opened sftp file handle.
Its goal is to avoid the slowdowns related to the request/response pattern of a synchronous read. To do so, you must call 2 functions:
sftp_async_read_begin() and sftp_async_read().
The first step is to call sftp_async_read_begin(). This function returns a request identifier. The second step is to call sftp_async_read() using the returned identifier.
| file | The opened sftp file handle to be read from. |
| len | Size to read in bytes. |
| void sftp_attributes_free | ( | sftp_attributes | file | ) |
Free a sftp attribute structure.
| file | The sftp attribute structure to free. |
| char* sftp_canonicalize_path | ( | sftp_session | sftp, |
| const char * | path | ||
| ) |
Canonicalize a sftp path.
| sftp | The sftp session handle. |
| path | The path to be canonicalized. |
| int sftp_chmod | ( | sftp_session | sftp, |
| const char * | file, | ||
| mode_t | mode | ||
| ) |
Change permissions of a file.
| sftp | The sftp session handle. |
| file | The file which owner and group should be changed. |
| mode | Specifies the permissions to use. It is modified by the process's umask in the usual way: The permissions of the created file are (mode & ~umask) |
| int sftp_chown | ( | sftp_session | sftp, |
| const char * | file, | ||
| uid_t | owner, | ||
| gid_t | group | ||
| ) |
Change the file owner and group.
| sftp | The sftp session handle. |
| file | The file which owner and group should be changed. |
| owner | The new owner which should be set. |
| group | The new group which should be set. |
| int sftp_close | ( | sftp_file | file | ) |
Close an open file handle.
| file | The open sftp file handle to close. |
| int sftp_closedir | ( | sftp_dir | dir | ) |
Close a directory handle opened by sftp_opendir().
| dir | The sftp directory handle to close. |
| int sftp_dir_eof | ( | sftp_dir | dir | ) |
Tell if the directory has reached EOF (End Of File).
| dir | The sftp directory handle. |
| int sftp_extension_supported | ( | sftp_session | sftp, |
| const char * | name, | ||
| const char * | data | ||
| ) |
Check if the given extension is supported.
| sftp | The sftp session to use. |
| name | The name of the extension. |
| data | The data of the extension. |
Example:
sftp_extension_supported(sftp, "statvfs@openssh.com", "2");
| unsigned int sftp_extensions_get_count | ( | sftp_session | sftp | ) |
Get the count of extensions provided by the server.
| sftp | The sftp session to use. |
| const char* sftp_extensions_get_data | ( | sftp_session | sftp, |
| unsigned int | indexn | ||
| ) |
Get the data of the extension provided by the server.
This is normally the version number of the extension.
| sftp | The sftp session to use. |
| indexn | The index number of the extension data you want. |
| const char* sftp_extensions_get_name | ( | sftp_session | sftp, |
| unsigned int | indexn | ||
| ) |
Get the name of the extension provided by the server.
| sftp | The sftp session to use. |
| indexn | The index number of the extension name you want. |
| void sftp_free | ( | sftp_session | sftp | ) |
Close and deallocate a sftp session.
| sftp | The sftp session handle to free. |
| sftp_attributes sftp_fstat | ( | sftp_file | file | ) |
Get information about a file or directory from a file handle.
| file | The sftp file handle to get the stat information. |
| sftp_statvfs_t sftp_fstatvfs | ( | sftp_file | file | ) |
Get information about a mounted file system.
| file | An opened file. |
| int sftp_get_error | ( | sftp_session | sftp | ) |
Get the last sftp error.
Use this function to get the latest error set by a posix like sftp function.
| sftp | The sftp session where the error is saved. |
| int sftp_init | ( | sftp_session | sftp | ) |
Initialize the sftp session with the server.
| sftp | The sftp session to initialize. |
| sftp_attributes sftp_lstat | ( | sftp_session | session, |
| const char * | path | ||
| ) |
Get information about a file or directory.
Identical to sftp_stat, but if the file or directory is a symbolic link, then the link itself is stated, not the file that it refers to.
| session | The sftp session handle. |
| path | The path to the file or directory to obtain the information. |
| int sftp_mkdir | ( | sftp_session | sftp, |
| const char * | directory, | ||
| mode_t | mode | ||
| ) |
Create a directory.
| sftp | The sftp session handle. |
| directory | The directory to create. |
| mode | Specifies the permissions to use. It is modified by the process's umask in the usual way: The permissions of the created file are (mode & ~umask) |
| sftp_session sftp_new | ( | ssh_session | session | ) |
Start a new sftp session.
| session | The ssh session to use. |
| sftp_file sftp_open | ( | sftp_session | session, |
| const char * | file, | ||
| int | accesstype, | ||
| mode_t | mode | ||
| ) |
Open a file on the server.
| session | The sftp session handle. |
| file | The file to be opened. |
| accesstype | Is one of O_RDONLY, O_WRONLY or O_RDWR which request opening the file read-only,write-only or read/write. Acesss may also be bitwise-or'd with one or more of the following: O_CREAT - If the file does not exist it will be created. O_EXCL - When used with O_CREAT, if the file already exists it is an error and the open will fail. O_TRUNC - If the file already exists it will be truncated. |
| mode | Mode specifies the permissions to use if a new file is created. It is modified by the process's umask in the usual way: The permissions of the created file are (mode & ~umask) |
| sftp_dir sftp_opendir | ( | sftp_session | session, |
| const char * | path | ||
| ) |
Open a directory used to obtain directory entries.
| session | The sftp session handle to open the directory. |
| path | The path of the directory to open. |
| ssize_t sftp_read | ( | sftp_file | file, |
| void * | buf, | ||
| size_t | count | ||
| ) |
Read from a file using an opened sftp file handle.
| file | The opened sftp file handle to be read from. |
| buf | Pointer to buffer to recieve read data. |
| count | Size of the buffer in bytes. |
| sftp_attributes sftp_readdir | ( | sftp_session | session, |
| sftp_dir | dir | ||
| ) |
Get a single file attributes structure of a directory.
| session | The sftp session handle to read the directory entry. |
| dir | The opened sftp directory handle to read from. |
| char* sftp_readlink | ( | sftp_session | sftp, |
| const char * | path | ||
| ) |
Read the value of a symbolic link.
| sftp | The sftp session handle. |
| path | Specifies the path name of the symlink to be read. |
| int sftp_rename | ( | sftp_session | sftp, |
| const char * | original, | ||
| const char * | newname | ||
| ) |
Rename or move a file or directory.
| sftp | The sftp session handle. |
| original | The original url (source url) of file or directory to be moved. |
| newname | The new url (destination url) of the file or directory after the move. |
| void sftp_rewind | ( | sftp_file | file | ) |
Rewinds the position of the file pointer to the beginning of the file.
| file | Open sftp file handle. |
| int sftp_rmdir | ( | sftp_session | sftp, |
| const char * | directory | ||
| ) |
Remove a directoy.
| sftp | The sftp session handle. |
| directory | The directory to remove. |
| int sftp_seek | ( | sftp_file | file, |
| uint32_t | new_offset | ||
| ) |
Seek to a specific location in a file.
| file | Open sftp file handle to seek in. |
| new_offset | Offset in bytes to seek. |
| int sftp_seek64 | ( | sftp_file | file, |
| uint64_t | new_offset | ||
| ) |
Seek to a specific location in a file.
This is the 64bit version.
| file | Open sftp file handle to seek in. |
| new_offset | Offset in bytes to seek. |
| int sftp_server_version | ( | sftp_session | sftp | ) |
Get the version of the SFTP protocol supported by the server.
| sftp | The sftp session handle. |
| int sftp_setstat | ( | sftp_session | sftp, |
| const char * | file, | ||
| sftp_attributes | attr | ||
| ) |
Set file attributes on a file, directory or symbolic link.
| sftp | The sftp session handle. |
| file | The file which attributes should be changed. |
| attr | The file attributes structure with the attributes set which should be changed. |
| sftp_attributes sftp_stat | ( | sftp_session | session, |
| const char * | path | ||
| ) |
Get information about a file or directory.
| session | The sftp session handle. |
| path | The path to the file or directory to obtain the information. |
| sftp_statvfs_t sftp_statvfs | ( | sftp_session | sftp, |
| const char * | path | ||
| ) |
Get information about a mounted file system.
| sftp | The sftp session handle. |
| path | The pathname of any file within the mounted file system. |
| void sftp_statvfs_free | ( | sftp_statvfs_t | statvfs_o | ) |
Free the memory of an allocated statvfs.
| statvfs_o | The statvfs to free. |
| int sftp_symlink | ( | sftp_session | sftp, |
| const char * | target, | ||
| const char * | dest | ||
| ) |
Create a symbolic link.
| sftp | The sftp session handle. |
| target | Specifies the target of the symlink. |
| dest | Specifies the path name of the symlink to be created. |
| unsigned long sftp_tell | ( | sftp_file | file | ) |
Report current byte position in file.
| file | Open sftp file handle. |
| uint64_t sftp_tell64 | ( | sftp_file | file | ) |
Report current byte position in file.
| file | Open sftp file handle. |
| int sftp_unlink | ( | sftp_session | sftp, |
| const char * | file | ||
| ) |
Unlink (delete) a file.
| sftp | The sftp session handle. |
| file | The file to unlink/delete. |
| int sftp_utimes | ( | sftp_session | sftp, |
| const char * | file, | ||
| const struct timeval * | times | ||
| ) |
Change the last modification and access time of a file.
| sftp | The sftp session handle. |
| file | The file which owner and group should be changed. |
| times | A timeval structure which contains the desired access and modification time. |
| ssize_t sftp_write | ( | sftp_file | file, |
| const void * | buf, | ||
| size_t | count | ||
| ) |
Write to a file using an opened sftp file handle.
| file | Open sftp file handle to write to. |
| buf | Pointer to buffer to write data. |
| count | Size of buffer in bytes. |
1.7.3