aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/helper/replacements.h9
-rw-r--r--src/jtag/drivers/remote_bitbang.c12
2 files changed, 16 insertions, 5 deletions
diff --git a/src/helper/replacements.h b/src/helper/replacements.h
index ceb2258..bdd3ae7 100644
--- a/src/helper/replacements.h
+++ b/src/helper/replacements.h
@@ -139,6 +139,15 @@ static inline unsigned usleep(unsigned int usecs)
#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
diff --git a/src/jtag/drivers/remote_bitbang.c b/src/jtag/drivers/remote_bitbang.c
index 941a07f..73d9cfc 100644
--- a/src/jtag/drivers/remote_bitbang.c
+++ b/src/jtag/drivers/remote_bitbang.c
@@ -22,14 +22,16 @@
#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
@@ -199,8 +201,8 @@ static int remote_bitbang_init_unix(void)
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));