diff options
| author | Aris Adamantiadis <aris@0xbadc0de.be> | 2009-08-23 23:40:30 +0200 |
|---|---|---|
| committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2009-08-23 23:40:30 +0200 |
| commit | f3454d571e53358b248fd7071828f6cc13f1f2f5 (patch) | |
| tree | 6fbda8852f1c62db44350edec6f0782e3b884e7c | |
| parent | 1df1f86f7e1b2e28610ba338bb7898d55e8bd7ce (diff) | |
| download | libssh-f3454d571e53358b248fd7071828f6cc13f1f2f5.tar.gz libssh-f3454d571e53358b248fd7071828f6cc13f1f2f5.tar.xz libssh-f3454d571e53358b248fd7071828f6cc13f1f2f5.zip | |
ssh_scp_request_get_{filename,permissions,size}
| -rw-r--r-- | include/libssh/libssh.h | 3 | ||||
| -rw-r--r-- | libssh/scp.c | 24 |
2 files changed, 27 insertions, 0 deletions
diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h index f7896fb..c36b7fc 100644 --- a/include/libssh/libssh.h +++ b/include/libssh/libssh.h @@ -487,6 +487,9 @@ LIBSSH_API int ssh_scp_pull_request(ssh_scp scp); LIBSSH_API int ssh_scp_deny_request(ssh_scp scp, const char *reason); LIBSSH_API int ssh_scp_accept_request(ssh_scp scp); LIBSSH_API int ssh_scp_read(ssh_scp scp, void *buffer, size_t size); +LIBSSH_API const char *ssh_scp_request_get_filename(ssh_scp scp); +LIBSSH_API const char *ssh_scp_request_get_permissions(ssh_scp scp); +LIBSSH_API size_t ssh_scp_request_get_size(ssh_scp scp); #ifdef __cplusplus diff --git a/libssh/scp.c b/libssh/scp.c index 2c89147..5bcfdd9 100644 --- a/libssh/scp.c +++ b/libssh/scp.c @@ -459,3 +459,27 @@ int ssh_scp_read(ssh_scp scp, void *buffer, size_t size){ } return r; } + +/** Gets the name of the directory or file being + * pushed from the other party + * @returns file name. Should not be freed. + */ +const char *ssh_scp_request_get_filename(ssh_scp scp){ + return scp->request_name; +} + +/** Gets the permissions of the directory or file being + * pushed from the other party + * @returns Unix permission string, e.g "0644". Should not be freed. + */ +const char *ssh_scp_request_get_permissions(ssh_scp scp){ + return scp->request_mode; +} + +/** Gets the size of the file being pushed + * from the other party + * @returns Numeric size of the file being read. + */ +size_t ssh_scp_request_get_size(ssh_scp scp){ + return scp->filelen; +} |
