summaryrefslogtreecommitdiff
path: root/source3/lib
diff options
context:
space:
mode:
Diffstat (limited to 'source3/lib')
-rw-r--r--source3/lib/system.c7
-rw-r--r--source3/lib/time.c27
2 files changed, 34 insertions, 0 deletions
diff --git a/source3/lib/system.c b/source3/lib/system.c
index 4331691746..8abcb3dc66 100644
--- a/source3/lib/system.c
+++ b/source3/lib/system.c
@@ -504,6 +504,13 @@ void update_stat_ex_mtime(struct stat_ex *dst,
}
}
+void update_stat_ex_create_time(struct stat_ex *dst,
+ struct timespec create_time)
+{
+ dst->st_ex_btime = create_time;
+ dst->st_ex_calculated_birthtime = false;
+}
+
static void init_stat_ex_from_stat (struct stat_ex *dst,
const struct stat *src)
{
diff --git a/source3/lib/time.c b/source3/lib/time.c
index f6ff6d3407..1d2fae3d17 100644
--- a/source3/lib/time.c
+++ b/source3/lib/time.c
@@ -680,6 +680,33 @@ void unix_timespec_to_nt_time(NTTIME *nt, struct timespec ts)
*nt = d;
}
+#if 0
+void nt_time_to_unix_timespec(struct timespec *ts, NTTIME t)
+{
+ if (ts == NULL) {
+ return;
+ }
+
+ /* t starts in 100 nsec units since 1601-01-01. */
+
+ t *= 100;
+ /* t is now in nsec units since 1601-01-01. */
+
+ t -= TIME_FIXUP_CONSTANT*1000*1000*100;
+ /* t is now in nsec units since the UNIX epoch 1970-01-01. */
+
+ ts->tv_sec = t / 1000000000LL;
+
+ if (TIME_T_MIN > ts->tv_sec || ts->tv_sec > TIME_T_MAX) {
+ ts->tv_sec = 0;
+ ts->tv_nsec = 0;
+ return;
+ }
+
+ ts->tv_nsec = t - ts->tv_sec*1000000000LL;
+}
+#endif
+
/****************************************************************************
Convert a time_t to a NTTIME structure