tools: add progress implementation
Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I9da1674d6cbc688efc7bab0e033788d6ee4694f7
diff --git a/internal/sys.cpp b/internal/sys.cpp
index 46c6642..2e040ae 100644
--- a/internal/sys.cpp
+++ b/internal/sys.cpp
@@ -19,11 +19,27 @@
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
+#include <sys/stat.h>
+#include <sys/types.h>
#include <unistd.h>
+#include <cstdint>
+
namespace internal
{
+std::int64_t SysImpl::getSize(const char* pathname) const
+{
+ struct stat results;
+ int rc = ::stat(pathname, &results);
+ if (rc)
+ {
+ return 0;
+ }
+
+ return static_cast<std::int64_t>(results.st_size);
+}
+
int SysImpl::open(const char* pathname, int flags) const
{
return ::open(pathname, flags);