diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/icat.c | 20 | ||||
| -rw-r--r-- | tools/iproxy.c | 4 | 
2 files changed, 22 insertions, 2 deletions
| diff --git a/tools/icat.c b/tools/icat.c index 9296a23..42f7420 100644 --- a/tools/icat.c +++ b/tools/icat.c @@ -29,19 +29,35 @@  #include <stddef.h>  #include <unistd.h>  #include <errno.h> +#ifdef WIN32 +#include <windows.h> +#include <winsock2.h> +#else  #include <sys/socket.h>  #include <sys/un.h>  #include <sys/ioctl.h> +#endif  #include "usbmuxd.h" +#include "socket.h"  static size_t read_data_socket(int fd, uint8_t* buf, size_t bufsize)  { -    size_t bytesavailable; +#ifdef WIN32 +    u_long bytesavailable = 0; +    if (fd == STDIN_FILENO) { +        bytesavailable = bufsize; +    } else if (ioctlsocket(fd, FIONREAD, &bytesavailable) != 0) { +        perror("ioctlsocket FIONREAD failed"); +        exit(1); +    } +#else +    size_t bytesavailable = 0;      if (ioctl(fd, FIONREAD, &bytesavailable) != 0) {          perror("ioctl FIONREAD failed");          exit(1);      } +#endif      size_t bufread = (bytesavailable >= bufsize) ? bufsize:bytesavailable;      ssize_t ret = read(fd, buf, bufread);      if (ret < 0) { @@ -143,6 +159,6 @@ int main(int argc, char **argv)          }      } -    close(devfd); +    socket_close(devfd);      return ret;  } diff --git a/tools/iproxy.c b/tools/iproxy.c index 113938e..a018cf7 100644 --- a/tools/iproxy.c +++ b/tools/iproxy.c @@ -44,6 +44,10 @@ typedef unsigned int socklen_t;  #include "socket.h"  #include "usbmuxd.h" +#ifndef ETIMEDOUT +#define ETIMEDOUT 138 +#endif +  static uint16_t listen_port = 0;  static uint16_t device_port = 0;  static char* device_udid = NULL; | 
