mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	* time/tzset.c (tzset_internal): Break TZ string parsing out into __tzset_parse_tz and updating of daylight, timezone, tzname into update_vars. (__tz_compute): Renamed from tz_compute. Take additional parameters. (__tz_convert): Updating of tm_isdst, tm_zone, and tm_gmtoff now happens in __tz_compute. * time/tzfile.c (__tzfile_read): Also read TZ string. (find_transition): Fold into __tzfile_compute. (__tzfile_compute): For times beyond the last transition try to use the TZ string. * timezone/tst-timezone.c: Information in daylight and tzname does change for Asia/Tokyo timezone with more concrete information. Remove the test. * include/stdio.h: Add libc_hidden_proto for ftello. * libio/ftello.c: Add libc_hidden_def.
		
			
				
	
	
		
			117 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef _TIME_H
 | 
						|
#if defined __need_time_t  || defined __need_clock_t || defined __need_timespec
 | 
						|
# include <time/time.h>
 | 
						|
#else
 | 
						|
# include <time/time.h>
 | 
						|
# include <xlocale.h>
 | 
						|
 | 
						|
__BEGIN_DECLS
 | 
						|
 | 
						|
extern __typeof (strftime_l) __strftime_l;
 | 
						|
libc_hidden_proto (__strftime_l)
 | 
						|
extern __typeof (strptime_l) __strptime_l;
 | 
						|
 | 
						|
libc_hidden_proto (time)
 | 
						|
libc_hidden_proto (asctime)
 | 
						|
libc_hidden_proto (mktime)
 | 
						|
libc_hidden_proto (timelocal)
 | 
						|
libc_hidden_proto (localtime)
 | 
						|
libc_hidden_proto (strftime)
 | 
						|
libc_hidden_proto (strptime)
 | 
						|
 | 
						|
librt_hidden_proto (clock_gettime)
 | 
						|
 | 
						|
/* Now define the internal interfaces.  */
 | 
						|
struct tm;
 | 
						|
 | 
						|
/* Defined in mktime.c.  */
 | 
						|
extern const unsigned short int __mon_yday[2][13] attribute_hidden;
 | 
						|
 | 
						|
/* Defined in localtime.c.  */
 | 
						|
extern struct tm _tmbuf attribute_hidden;
 | 
						|
 | 
						|
/* Defined in tzset.c.  */
 | 
						|
extern char *__tzstring (const char *string);
 | 
						|
 | 
						|
/* Defined in tzset.c. */
 | 
						|
extern size_t __tzname_cur_max attribute_hidden;
 | 
						|
 | 
						|
 | 
						|
extern int __use_tzfile attribute_hidden;
 | 
						|
 | 
						|
extern void __tzfile_read (const char *file, size_t extra,
 | 
						|
			   char **extrap);
 | 
						|
extern void __tzfile_compute (time_t timer, int use_localtime,
 | 
						|
			      long int *leap_correct, int *leap_hit,
 | 
						|
			      struct tm *tp);
 | 
						|
extern void __tzfile_default (const char *std, const char *dst,
 | 
						|
			      long int stdoff, long int dstoff);
 | 
						|
extern void __tzset_parse_tz (const char *tz);
 | 
						|
extern void __tz_compute (time_t timer, struct tm *tm, int use_localtime)
 | 
						|
     __THROW internal_function;
 | 
						|
 | 
						|
/* Subroutine of `mktime'.  Return the `time_t' representation of TP and
 | 
						|
   normalize TP, given that a `struct tm *' maps to a `time_t' as performed
 | 
						|
   by FUNC.  Keep track of next guess for time_t offset in *OFFSET.  */
 | 
						|
extern time_t __mktime_internal (struct tm *__tp,
 | 
						|
				 struct tm *(*__func) (const time_t *,
 | 
						|
						       struct tm *),
 | 
						|
				 time_t *__offset);
 | 
						|
extern struct tm *__localtime_r (__const time_t *__timer,
 | 
						|
				 struct tm *__tp) attribute_hidden;
 | 
						|
 | 
						|
extern struct tm *__gmtime_r (__const time_t *__restrict __timer,
 | 
						|
			      struct tm *__restrict __tp);
 | 
						|
libc_hidden_proto (__gmtime_r)
 | 
						|
 | 
						|
/* Compute the `struct tm' representation of *T,
 | 
						|
   offset OFFSET seconds east of UTC,
 | 
						|
   and store year, yday, mon, mday, wday, hour, min, sec into *TP.
 | 
						|
   Return nonzero if successful.  */
 | 
						|
extern int __offtime (__const time_t *__timer,
 | 
						|
		      long int __offset,
 | 
						|
		      struct tm *__tp);
 | 
						|
 | 
						|
extern char *__asctime_r (__const struct tm *__tp, char *__buf);
 | 
						|
extern void __tzset (void);
 | 
						|
 | 
						|
/* Prototype for the internal function to get information based on TZ.  */
 | 
						|
extern struct tm *__tz_convert (const time_t *timer, int use_localtime, struct tm *tp);
 | 
						|
 | 
						|
/* Return the maximum length of a timezone name.
 | 
						|
   This is what `sysconf (_SC_TZNAME_MAX)' does.  */
 | 
						|
extern long int __tzname_max (void);
 | 
						|
 | 
						|
extern int __nanosleep (__const struct timespec *__requested_time,
 | 
						|
			struct timespec *__remaining);
 | 
						|
libc_hidden_proto (__nanosleep)
 | 
						|
extern int __nanosleep_nocancel (__const struct timespec *__requested_time,
 | 
						|
				 struct timespec *__remaining)
 | 
						|
  attribute_hidden;
 | 
						|
extern int __getdate_r (__const char *__string, struct tm *__resbufp);
 | 
						|
 | 
						|
 | 
						|
/* Determine CLK_TCK value.  */
 | 
						|
extern int __getclktck (void);
 | 
						|
 | 
						|
 | 
						|
/* strptime support.  */
 | 
						|
extern char * __strptime_internal (const char *rp, const char *fmt,
 | 
						|
				   struct tm *tm, void *statep,
 | 
						|
				   __locale_t locparam)
 | 
						|
     internal_function;
 | 
						|
 | 
						|
extern double __difftime (time_t time1, time_t time0);
 | 
						|
 | 
						|
 | 
						|
/* Use in the clock_* functions.  Size of the field representing the
 | 
						|
   actual clock ID.  */
 | 
						|
#ifndef _ISOMAC
 | 
						|
# define CLOCK_IDFIELD_SIZE	3
 | 
						|
#endif
 | 
						|
 | 
						|
__END_DECLS
 | 
						|
 | 
						|
#endif
 | 
						|
#endif
 |