4#include <sshpp/export.hpp>
23 std::uint64_t size = 0;
24 std::uint32_t uid = 0, gid = 0;
25 std::optional<std::string> owner,
group;
26 std::uint32_t permissions = 0;
27 std::uint32_t flags = 0;
29 std::optional<std::chrono::system_clock::time_point>
atime, mtime, createtime;
31 bool is_regular() const noexcept {
return type == FileType::regular; }
32 bool is_directory() const noexcept {
return type == FileType::directory; }
33 bool is_symlink() const noexcept {
return type == FileType::symlink; }
35 return static_cast<std::filesystem::perms
>(permissions & 07777u);
41 std::optional<std::uint64_t>
size;
43 std::optional<std::pair<std::uint32_t, std::uint32_t>>
uid_gid;
44 std::optional<std::chrono::system_clock::time_point>
atime, mtime;
Definition algorithms.ipp:10
FileType
Definition attributes.hpp:15
Partial attributes for setstat: only engaged fields are transmitted.
Definition attributes.hpp:40
std::optional< std::uint32_t > permissions
Definition attributes.hpp:42
std::optional< std::chrono::system_clock::time_point > atime
Definition attributes.hpp:44
std::optional< std::uint64_t > size
Definition attributes.hpp:41
std::optional< std::pair< std::uint32_t, std::uint32_t > > uid_gid
Definition attributes.hpp:43
Value-type copy of libssh's sftp_attributes. See docs/design/06 ยง6.1.
Definition attributes.hpp:19
bool is_regular() const noexcept
Definition attributes.hpp:31
std::string name
Definition attributes.hpp:20
std::optional< std::chrono::system_clock::time_point > atime
Definition attributes.hpp:29
std::filesystem::perms std_perms() const noexcept
Definition attributes.hpp:34
bool is_directory() const noexcept
Definition attributes.hpp:32
std::string long_name
Definition attributes.hpp:21
bool is_symlink() const noexcept
Definition attributes.hpp:33
std::optional< std::string > group
Definition attributes.hpp:25