]> sigrok.org Git - libserialport.git/blobdiff - libserialport_internal.h
change type of result variables to ssize_t
[libserialport.git] / libserialport_internal.h
index 1cb477c55387df0e1e9bf123fd1c5e6db6725625..f1d0d8505494c7949af7e60c98589c74309e0a49 100644 (file)
 #ifndef LIBSERIALPORT_LIBSERIALPORT_INTERNAL_H
 #define LIBSERIALPORT_LIBSERIALPORT_INTERNAL_H
 
+/* These MSVC-specific defines must appear before other headers.*/
+#ifdef _MSC_VER
+#define _CRT_NONSTDC_NO_DEPRECATE
+#define _CRT_SECURE_NO_WARNINGS
+#endif
 
-#ifdef __linux__
+/* These feature test macros must appear before other headers.*/
+#if defined(__linux__) || defined(__CYGWIN__)
 /* For timeradd, timersub, timercmp, realpath. */
 #define _BSD_SOURCE 1 /* for glibc < 2.19 */
 #define _DEFAULT_SOURCE 1 /* for glibc >= 2.20 */
 #define _POSIX_C_SOURCE 199309L
 #endif
 
+#ifdef LIBSERIALPORT_ATBUILD
+/* If building with autoconf, include the generated config.h. */
+#include <config.h>
+#endif
+
+#ifdef LIBSERIALPORT_MSBUILD
+/* If building with MS tools, define necessary things that
+   would otherwise appear in config.h. */
+#define SP_PRIV
+#endif
+
+#include "libserialport.h"
+
 #include <string.h>
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -63,6 +82,9 @@
 #include <time.h>
 #include <poll.h>
 #include <unistd.h>
+#ifdef HAVE_SYS_FILE_H
+#include <sys/file.h>
+#endif
 #endif
 #ifdef __APPLE__
 #include <CoreFoundation/CoreFoundation.h>
@@ -71,6 +93,9 @@
 #include <IOKit/serial/ioss.h>
 #include <sys/syslimits.h>
 #include <mach/mach_time.h>
+#if MAC_OS_X_VERSION_MAX_ALLOWED < 120000 /* Before macOS 12 */
+#define kIOMainPortDefault kIOMasterPortDefault
+#endif
 #endif
 #ifdef __linux__
 #include <dirent.h>