8#ifndef INCLUDED_BDLS_FILESYSTEMUTIL_TRANSITIONALUNIXIMPUTIL
9#define INCLUDED_BDLS_FILESYSTEMUTIL_TRANSITIONALUNIXIMPUTIL
80#include <bdlt_datetime.h>
144template <
class UNIX_INTERFACE>
155 typedef typename UNIX_INTERFACE::off64_t
Offset;
163 typedef typename UNIX_INTERFACE::off64_t off64_t;
167 typedef typename UNIX_INTERFACE::stat64 stat64;
172 typedef typename UNIX_INTERFACE::time_t time_t;
178 static long get_st_mtim_nsec(
const stat64& stat);
181 static time_t get_st_mtime(
const stat64& stat);
188 static off64_t get_st_size(
const stat64& stat);
193 static int fstat64(
int fildes, stat64 *buf);
220template <
class UNIX_INTERFACE>
225 return UNIX_INTERFACE::get_st_mtim_nsec(stat);
228template <
class UNIX_INTERFACE>
229typename UNIX_INTERFACE::time_t
230FilesystemUtil_TransitionalUnixImpUtil<UNIX_INTERFACE>::get_st_mtime(
233 return UNIX_INTERFACE::get_st_mtime(stat);
236template <
class UNIX_INTERFACE>
237typename UNIX_INTERFACE::off64_t
238FilesystemUtil_TransitionalUnixImpUtil<UNIX_INTERFACE>::get_st_size(
241 return UNIX_INTERFACE::get_st_size(stat);
244template <
class UNIX_INTERFACE>
245int FilesystemUtil_TransitionalUnixImpUtil<UNIX_INTERFACE>::fstat64(
249 return UNIX_INTERFACE::fstat64(fildes, buf);
253template <
class UNIX_INTERFACE>
259 const int rc = fstat64(descriptor, &statResult);
264 return get_st_size(statResult);
267template <
class UNIX_INTERFACE>
273 int rc = fstat64(descriptor, &statResult);
284 long nanoseconds = get_st_mtim_nsec(statResult);
Definition bdlt_datetime.h:330
int addMicrosecondsIfValid(bsls::Types::Int64 microseconds)
Definition bdlt_datetime.h:2173
int addSecondsIfValid(bsls::Types::Int64 seconds)
Definition bdlt_datetime.h:2110
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1917
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdls_fdstreambuf.h:412
Definition bdls_filesystemutil_transitionaluniximputil.h:145
int FileDescriptor
Definition bdls_filesystemutil_transitionaluniximputil.h:151
static Offset getFileSize(FileDescriptor descriptor)
Definition bdls_filesystemutil_transitionaluniximputil.h:255
UNIX_INTERFACE::off64_t Offset
Definition bdls_filesystemutil_transitionaluniximputil.h:155
static int getLastModificationTime(bdlt::Datetime *time, FileDescriptor descriptor)
Definition bdls_filesystemutil_transitionaluniximputil.h:269
static const Datetime & epoch()
Definition bdlt_epochutil.h:397
static const bsls::Types::Int64 k_NANOSECONDS_PER_SECOND
Definition bdlt_timeunitratio.h:219
static const int k_NANOSECONDS_PER_MICROSECOND_32
Definition bdlt_timeunitratio.h:298