* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#ifndef LIBSERIALPORT_LIBSERIALPORT_INTERNAL_H
+#define LIBSERIALPORT_LIBSERIALPORT_INTERNAL_H
+
+#include "config.h"
+
#ifdef __linux__
-#define _BSD_SOURCE // for timeradd, timersub, timercmp
-#define _XOPEN_SOURCE 700 // for readlinkat
+#define _BSD_SOURCE /* For timeradd, timersub, timercmp. */
#endif
#include <string.h>
#include <tchar.h>
#include <setupapi.h>
#include <cfgmgr32.h>
+#undef DEFINE_GUID
+#define DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
+ static const GUID name = { l,w1,w2,{ b1,b2,b3,b4,b5,b6,b7,b8 } }
#include <usbioctl.h>
+#include <usbiodef.h>
#else
#include <limits.h>
#include <termios.h>
#endif
/* Non-standard baudrates are not available everywhere. */
-#if defined(HAVE_TERMIOS_SPEED) || defined(HAVE_TERMIOS2_SPEED)
+#if (defined(HAVE_TERMIOS_SPEED) || defined(HAVE_TERMIOS2_SPEED)) && defined(HAVE_BOTHER)
#define USE_TERMIOS_SPEED
#endif
DWORD events;
BYTE pending_byte;
BOOL writing;
+ BOOL wait_running;
#else
int fd;
#endif
int value;
};
-extern const struct std_baudrate std_baudrates[];
-
#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
-#define NUM_STD_BAUDRATES ARRAY_SIZE(std_baudrates)
extern void (*sp_debug_handler)(const char *format, ...);
#define RETURN() do { \
DEBUG_FMT("%s returning", __func__); \
return; \
-} while(0)
+} while (0)
#define RETURN_CODE(x) do { \
DEBUG_FMT("%s returning " #x, __func__); \
return x; \
} while (0)
#define RETURN_CODEVAL(x) do { \
switch (x) { \
- case SP_OK: RETURN_CODE(SP_OK); \
- case SP_ERR_ARG: RETURN_CODE(SP_ERR_ARG); \
- case SP_ERR_FAIL: RETURN_CODE(SP_ERR_FAIL); \
- case SP_ERR_MEM: RETURN_CODE(SP_ERR_MEM); \
- case SP_ERR_SUPP: RETURN_CODE(SP_ERR_SUPP); \
+ case SP_OK: RETURN_CODE(SP_OK); \
+ case SP_ERR_ARG: RETURN_CODE(SP_ERR_ARG); \
+ case SP_ERR_FAIL: RETURN_CODE(SP_ERR_FAIL); \
+ case SP_ERR_MEM: RETURN_CODE(SP_ERR_MEM); \
+ case SP_ERR_SUPP: RETURN_CODE(SP_ERR_SUPP); \
} \
} while (0)
#define RETURN_OK() RETURN_CODE(SP_OK);
/* OS-specific Helper functions. */
SP_PRIV enum sp_return get_port_details(struct sp_port *port);
SP_PRIV enum sp_return list_ports(struct sp_port ***list);
+
+#endif