Synchronize makefile tweaks with 2.3 branch.
[kopensolaris-gnu/glibc.git] / timezone / private.h
index f2c0558..5de2f7d 100644 (file)
@@ -21,7 +21,7 @@
 
 #ifndef lint
 #ifndef NOID
-static char    privatehid[] = "@(#)private.h   7.48";
+static char    privatehid[] = "@(#)private.h   7.55";
 #endif /* !defined NOID */
 #endif /* !defined lint */
 
@@ -38,18 +38,30 @@ static char privatehid[] = "@(#)private.h   7.48";
 #define HAVE_GETTEXT           0
 #endif /* !defined HAVE_GETTEXT */
 
+#ifndef HAVE_INCOMPATIBLE_CTIME_R
+#define HAVE_INCOMPATIBLE_CTIME_R      0
+#endif /* !defined INCOMPATIBLE_CTIME_R */
+
 #ifndef HAVE_SETTIMEOFDAY
 #define HAVE_SETTIMEOFDAY      3
 #endif /* !defined HAVE_SETTIMEOFDAY */
 
 #ifndef HAVE_STRERROR
-#define HAVE_STRERROR          0
+#define HAVE_STRERROR          1
 #endif /* !defined HAVE_STRERROR */
 
 #ifndef HAVE_SYMLINK
 #define HAVE_SYMLINK           1
 #endif /* !defined HAVE_SYMLINK */
 
+#ifndef HAVE_SYS_STAT_H
+#define HAVE_SYS_STAT_H                1
+#endif /* !defined HAVE_SYS_STAT_H */
+
+#ifndef HAVE_SYS_WAIT_H
+#define HAVE_SYS_WAIT_H                1
+#endif /* !defined HAVE_SYS_WAIT_H */
+
 #ifndef HAVE_UNISTD_H
 #define HAVE_UNISTD_H          1
 #endif /* !defined HAVE_UNISTD_H */
@@ -62,6 +74,11 @@ static char  privatehid[] = "@(#)private.h   7.48";
 #define LOCALE_HOME            "/usr/lib/locale"
 #endif /* !defined LOCALE_HOME */
 
+#if HAVE_INCOMPATIBLE_CTIME_R
+#define asctime_r _incompatible_asctime_r
+#define ctime_r _incompatible_ctime_r
+#endif /* HAVE_INCOMPATIBLE_CTIME_R */
+
 /*
 ** Nested includes
 */
@@ -78,6 +95,17 @@ static char  privatehid[] = "@(#)private.h   7.48";
 #include "libintl.h"
 #endif /* HAVE_GETTEXT - 0 */
 
+#if HAVE_SYS_WAIT_H - 0
+#include <sys/wait.h>  /* for WIFEXITED and WEXITSTATUS */
+#endif /* HAVE_SYS_WAIT_H - 0 */
+
+#ifndef WIFEXITED
+#define WIFEXITED(status)      (((status) & 0xff) == 0)
+#endif /* !defined WIFEXITED */
+#ifndef WEXITSTATUS
+#define WEXITSTATUS(status)    (((status) >> 8) & 0xff)
+#endif /* !defined WEXITSTATUS */
+
 #if HAVE_UNISTD_H - 0
 #include "unistd.h"    /* for F_OK and R_OK */
 #endif /* HAVE_UNISTD_H - 0 */
@@ -99,16 +127,6 @@ static char privatehid[] = "@(#)private.h   7.48";
 */
 
 /*
-** SunOS 4.1.1 cc lacks const.
-*/
-
-#ifndef const
-#ifndef __STDC__
-#define const
-#endif /* !defined __STDC__ */
-#endif /* !defined const */
-
-/*
 ** SunOS 4.1.1 cc lacks prototypes.
 */
 
@@ -172,13 +190,25 @@ extern int        unlink P((const char * filename));
 ** But some newer errno.h implementations define it as a macro.
 ** Fix the former without affecting the latter.
 */
+
 #ifndef errno
 extern int errno;
 #endif /* !defined errno */
 
 /*
+** Some time.h implementations don't declare asctime_r.
+** Others might define it as a macro.
+** Fix the former without affecting the latter.
+*/
+
+#ifndef asctime_r
+extern char *  asctime_r();
+#endif
+
+/*
 ** Private function declarations.
 */
+
 char * icalloc P((int nelem, int elsize));
 char * icatalloc P((char * old, const char * new));
 char * icpyalloc P((const char * string));
@@ -188,7 +218,6 @@ void        icfree P((char * pointer));
 void   ifree P((char * pointer));
 char * scheck P((const char *string, const char *format));
 
-
 /*
 ** Finally, some convenience items.
 */
@@ -209,6 +238,15 @@ char *     scheck P((const char *string, const char *format));
 #define TYPE_SIGNED(type) (((type) -1) < 0)
 #endif /* !defined TYPE_SIGNED */
 
+/*
+** Since the definition of TYPE_INTEGRAL contains floating point numbers,
+** it cannot be used in preprocessor directives.
+*/
+
+#ifndef TYPE_INTEGRAL
+#define TYPE_INTEGRAL(type) (((type) 0.5) != 0.5)
+#endif /* !defined TYPE_INTEGRAL */
+
 #ifndef INT_STRLEN_MAXIMUM
 /*
 ** 302 / 1000 is log10(2.0) rounded up.
@@ -262,8 +300,15 @@ char *     scheck P((const char *string, const char *format));
 #define TZ_DOMAIN "tz"
 #endif /* !defined TZ_DOMAIN */
 
+#if HAVE_INCOMPATIBLE_CTIME_R
+#undef asctime_r
+#undef ctime_r
+char *asctime_r P((struct tm const *, char *));
+char *ctime_r P((time_t const *, char *));
+#endif /* HAVE_INCOMPATIBLE_CTIME_R */
+
 /*
-** UNIX was a registered trademark of UNIX System Laboratories in 1993.
+** UNIX was a registered trademark of The Open Group in 2003.
 */
 
 #endif /* !defined PRIVATE_H */