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.
This commit is contained in:
Rich Felker 2013-10-25 14:15:08 -04:00
parent 78f8891531
commit 4b15d9f46a
2 changed files with 34 additions and 0 deletions

22
include/sys/timeb.h Normal file
View File

@ -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

12
src/time/ftime.c Normal file
View File

@ -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;
}