#include <windows.h>
#include <time.h>
+#include <helper/types.h>
+
+/* Windows does not declare sockaddr_un */
+#define UNIX_PATH_LEN 108
+struct sockaddr_un {
+ uint16_t sun_family;
+ char sun_path[UNIX_PATH_LEN];
+};
+
/* win32 systems do not support ETIMEDOUT */
#ifndef ETIMEDOUT
#include "config.h"
#endif
-#include <sys/socket.h>
+#ifndef _WIN32
#include <sys/un.h>
#include <netdb.h>
+#endif
#include <jtag/interface.h>
#include "bitbang.h"
-/* from unix man page and sys/un.h: */
-#define UNIX_PATH_MAX 108
+#ifndef UNIX_PATH_LEN
+#define UNIX_PATH_LEN 108
+#endif
/* arbitrary limit on host name length: */
#define REMOTE_BITBANG_HOST_MAX 255
struct sockaddr_un addr;
addr.sun_family = AF_UNIX;
- strncpy(addr.sun_path, remote_bitbang_host, UNIX_PATH_MAX);
- addr.sun_path[UNIX_PATH_MAX-1] = '\0';
+ strncpy(addr.sun_path, remote_bitbang_host, UNIX_PATH_LEN);
+ addr.sun_path[UNIX_PATH_LEN-1] = '\0';
if (connect(fd, (struct sockaddr *)&addr, sizeof(struct sockaddr_un)) < 0) {
LOG_ERROR("connect: %s", strerror(errno));