about summary refs log tree commit diff
path: root/time/time.h
diff options
context:
space:
mode:
Diffstat (limited to 'time/time.h')
-rw-r--r--time/time.h43
1 files changed, 41 insertions, 2 deletions
diff --git a/time/time.h b/time/time.h
index 184f4eda10..f60599d2cb 100644
--- a/time/time.h
+++ b/time/time.h
@@ -95,6 +95,13 @@ struct timespec
 #undef	__need_timespec
 
 
+/* Value used for `tm_' field in `struct tmx' if describing the local
+   time.  */
+#define _LOCALTIME		(0x7fffffff)
+
+/* Value used for `tm_leapsecond' field if the number cannot be computed.  */
+#define _NO_LEAP_SECONDS	(0x7fffffff)
+
 
 #ifdef	_TIME_H
 /* Used by other time functions.  */
@@ -119,10 +126,36 @@ struct tm
 # endif
 };
 
-#endif /* <time.h> included.  */
+#ifdef __USE_ISOC9X
+/* Extended form of `struct tm' defined in ISO C 9X.  */
+struct tmx
+{
+  int tm_sec;			/* Seconds.	[0-60] (1 leap second) */
+  int tm_min;			/* Minutes.	[0-59] */
+  int tm_hour;			/* Hours.	[0-23] */
+  int tm_mday;			/* Day.		[1-31] */
+  int tm_mon;			/* Month.	[0-11] */
+  int tm_year;			/* Year	- 1900.  */
+  int tm_wday;			/* Day of week.	[0-6] */
+  int tm_yday;			/* Days in year.[0-365]	*/
+  int tm_isdst;			/* DST.		[-1/0/1]*/
+
+# ifdef	__USE_BSD
+  long int tm_gmtoff;		/* Seconds east of UTC.  */
+# else
+  long int __tm_gmtoff;		/* Seconds east of UTC.  */
+# endif
+  __const char *__tm_zonestr;	/* Timezone abbreviation.  */
+
+  int tm_version;		/* Version number.  */
+  int tm_zone;			/* Minutes offset from UTC [-1439-1439] */
+  int tm_leapsecs;		/* Number of leap seconds applied.  */
+  void *tm_ext;			/* Extension block.  */
+  size_t tm_extlen;		/* Size of the extension block.  */
+};
+#endif
 
 
-#ifdef	_TIME_H
 /* Time used by the program so far (user time + system time).
    The result / CLOCKS_PER_SECOND is program time in seconds.  */
 extern clock_t clock __P ((void));
@@ -145,6 +178,12 @@ extern time_t __mktime_internal __P ((struct tm *__tp,
 							    struct tm *),
 				      time_t *__offset));
 
+#ifdef __USE_ISOC9X
+/* Return the `time_t' representation of TP and normalize TP, taking
+   account for the extra members in `struct tmx'.  */
+extern time_t mkxtime __P ((struct tmx *__tp));
+#endif
+
 
 /* Format TP into S according to FORMAT.
    Write no more than MAXSIZE characters and return the number