Move ftime to a compatibility symbol
[platform/upstream/glibc.git] / time / ftime.c
1 /* Deprecated return date and time.
2    Copyright (C) 1994-2020 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
4
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; if not, see
17    <https://www.gnu.org/licenses/>.  */
18
19 #include <shlib-compat.h>
20
21 #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_33)
22
23 #include <time.h>
24
25 struct timeb
26   {
27     time_t time;                /* Seconds since epoch, as from `time'.  */
28     unsigned short int millitm; /* Additional milliseconds.  */
29     short int timezone;         /* Minutes west of GMT.  */
30     short int dstflag;          /* Nonzero if Daylight Savings Time used.  */
31   };
32
33 int
34 attribute_compat_text_section
35 __ftime (struct timeb *timebuf)
36 {
37   struct timespec ts;
38   __clock_gettime (CLOCK_REALTIME, &ts);
39
40   timebuf->time = ts.tv_sec;
41   timebuf->millitm = ts.tv_nsec / 1000000;
42   timebuf->timezone = 0;
43   timebuf->dstflag = 0;
44   return 0;
45 }
46
47 compat_symbol (libc, __ftime, ftime, GLIBC_2_0);
48 #endif