ncurses 6.2 - patch 20200711
[ncurses.git] / include / nc_mingw.h
index ab30c09fc60ba6cf89a5e1dc85f1a29e6d1bf0ad..6729b29d3d0945db4cda179b1bab322f897d1ff3 100644 (file)
@@ -1,5 +1,6 @@
 /****************************************************************************
- * Copyright (c) 2008-2010,2017 Free Software Foundation, Inc.              *
+ * Copyright 2018-2019,2020 Thomas E. Dickey                                *
+ * Copyright 2008-2010,2017 Free Software Foundation, Inc.                  *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  ****************************************************************************/
 
 /****************************************************************************
- * Author: Thomas Dickey, 2008-on                                           * 
+ * Author: Thomas Dickey, 2008-on                                           *
  ****************************************************************************/
 
-/* $Id: nc_mingw.h,v 1.4 2017/07/22 17:06:38 tom Exp $ */
+/* $Id: nc_mingw.h,v 1.9 2020/07/11 22:13:19 tom Exp $ */
 
 #ifndef NC_MINGW_H
 #define NC_MINGW_H 1
 
-#ifdef __MINGW32__
+#ifdef _WIN32
+
 #ifdef WINVER
 #  if WINVER < 0x0501
 #    error WINVER must at least be 0x0501
-#  endif  
+#  endif
 #else
 #  define WINVER 0x0501
 #endif
 #undef gettimeofday
 #define gettimeofday(tv,tz) _nc_gettimeofday(tv,tz)
 
-#include <sys/time.h>  /* for struct timeval */
+#if HAVE_SYS_TIME_H
+#include <sys/time.h>          /* for struct timeval */
+#endif
 
-extern int _nc_gettimeofday(struct timeval *, void *);
+#ifdef _MSC_VER
+#include <winsock2.h>          /* for struct timeval */
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <ncurses_dll.h>
+
+NCURSES_EXPORT(int) _nc_gettimeofday(struct timeval *, void *);
 
 #undef HAVE_GETTIMEOFDAY
 #define HAVE_GETTIMEOFDAY 1
@@ -63,9 +77,13 @@ extern int _nc_gettimeofday(struct timeval *, void *);
 #define getlogin() "username"
 
 #undef wcwidth
-#define wcwidth(ucs) _nc_wcwidth(ucs)
-extern int _nc_wcwidth(wchar_t);
+#define wcwidth(ucs) _nc_wcwidth((wchar_t)(ucs))
+NCURSES_EXPORT(int) _nc_wcwidth(wchar_t);
+
+#ifdef __cplusplus
+}
+#endif
 
-#endif /* __MINGW32__ */
+#endif /* _WIN32 */
 
 #endif /* NC_MINGW_H */