summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013-10-25 14:15:08 -0400
committerRich Felker <dalias@aerifal.cx>2013-10-25 14:15:08 -0400
commit4b15d9f46a2b260661d2e054575e617c76795578 (patch)
treeb5ed03ad58216b42cfd0675f183aee72074c348b
parent78f889153167452de4cbced921f6428b3d4f663a (diff)
downloadmusl-4b15d9f46a2b260661d2e054575e617c76795578.tar.gz
musl-4b15d9f46a2b260661d2e054575e617c76795578.tar.bz2
musl-4b15d9f46a2b260661d2e054575e617c76795578.tar.xz
musl-4b15d9f46a2b260661d2e054575e617c76795578.zip
add legacy ftime function and sys/timeb.h
despite being marked legacy, this was specified by SUSv3 as part of the XSI option; only the most recent version of the standard dropped it. reportedly there's actual code using it.
-rw-r--r--include/sys/timeb.h22
-rw-r--r--src/time/ftime.c12
2 files changed, 34 insertions, 0 deletions
diff --git a/include/sys/timeb.h b/include/sys/timeb.h
new file mode 100644
index 00000000..108c1f5c
--- /dev/null
+++ b/include/sys/timeb.h
@@ -0,0 +1,22 @@
+#ifndef _SYS_TIMEB_H
+#define _SYS_TIMEB_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define __NEED_time_t
+
+#include <bits/alltypes.h>
+
+struct timeb {
+ time_t time;
+ unsigned short millitm;
+ short timezone, dstflag;
+};
+
+int ftime(struct timeb *);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/time/ftime.c b/src/time/ftime.c
new file mode 100644
index 00000000..a1734d0f
--- /dev/null
+++ b/src/time/ftime.c
@@ -0,0 +1,12 @@
+#include <sys/timeb.h>
+#include <time.h>
+
+int ftime(struct timeb *tp)
+{
+ struct timespec ts;
+ clock_gettime(CLOCK_REALTIME, &ts);
+ tp->time = ts.tv_sec;
+ tp->millitm = ts.tv_nsec / 1000000;
+ tp->timezone = tp->dstflag = 0;
+ return 0;
+}