#include "win32/readdir.h"
#endif
+#if defined(NETWARE) && !(NEW_LIBC)
+/*#include <ws2nlm.h>*/
+#include <sys/socket.h>
+#endif
+
#include "php_reentrancy.h"
#include "ext/standard/php_rand.h" /* for RAND_MAX */
#endif
+#if defined(NETWARE)
+/*
+ Re-entrant versions of functions seem to be better for loading NLMs in different address space.
+ Since we have them now in LibC, we might as well make use of them.
+*/
+
+#define HAVE_LOCALTIME_R 1
+#define HAVE_CTIME_R 1
+#define HAVE_ASCTIME_R 1
+#define HAVE_GMTIME_R 1
+
+PHPAPI struct tm *php_localtime_r(const time_t *const timep, struct tm *p_tm)
+{
+ /* Modified according to LibC definition */
+ if (localtime_r(timep, p_tm) != NULL)
+ return (p_tm);
+ return (NULL);
+}
+
+PHPAPI char *php_ctime_r(const time_t *clock, char *buf)
+{
+ /* Modified according to LibC definition */
+ if (ctime_r(clock, buf) != NULL)
+ return (buf);
+ return (NULL);
+}
+
+PHPAPI char *php_asctime_r(const struct tm *tm, char *buf)
+{
+ /* Modified according to LibC definition */
+ if (asctime_r(tm, buf) != NULL)
+ return (buf);
+ return (NULL);
+}
+
+PHPAPI struct tm *php_gmtime_r(const time_t *const timep, struct tm *p_tm)
+{
+ /* Modified according to LibC definition */
+ if (gmtime_r(timep, p_tm) != NULL)
+ return (p_tm);
+ return (NULL);
+}
+
+#endif /* NETWARE */
+
#if !defined(HAVE_POSIX_READDIR_R)
PHPAPI int php_readdir_r(DIR *dirp, struct dirent *entry,