--- freem/src/io_socket.c	2025/03/22 18:43:54	1.4
+++ freem/src/io_socket.c	2025/03/24 02:56:15	1.7
@@ -1,5 +1,5 @@
 /*
- *   $Id: io_socket.c,v 1.4 2025/03/22 18:43:54 snw Exp $
+ *   $Id: io_socket.c,v 1.7 2025/03/24 02:56:15 snw Exp $
  *    socket i/o support
  *
  *  
@@ -24,6 +24,15 @@
  *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
  *
  *   $Log: io_socket.c,v $
+ *   Revision 1.7  2025/03/24 02:56:15  snw
+ *   Socket I/O compat fixes for OS/2
+ *
+ *   Revision 1.6  2025/03/24 02:55:26  snw
+ *   Socket I/O compat fixes for OS/2
+ *
+ *   Revision 1.5  2025/03/24 02:54:11  snw
+ *   Socket I/O compat fixes for OS/2
+ *
  *   Revision 1.4  2025/03/22 18:43:54  snw
  *   Make STRLEN 255 chars and add BIGSTR macro for larger buffers
  *
@@ -82,7 +91,7 @@ io_socket *io_sockets[MAXSCK];
    addr_string: server:port[:family:[udp|tcp]]*/
 short msck_open (int channel, char *addr_string)
 {
-#if !defined(MSDOS)
+#if !defined(MSDOS) && !defined(__OS2__)
     char *addr = "";
     char *port = "";
     char *family = "";
@@ -241,7 +250,7 @@ short msck_open (int channel, char *addr
 short msck_connect (int channel)
 {
 
-#if !defined(MSDOS)
+#if !defined(MSDOS) && !defined(__OS2__)
     
     short i = channel + FIRSTSCK;
 
@@ -279,7 +288,7 @@ short msck_connect (int channel)
 short msck_write (int channel, char *buf, short length)
 {
 
-#if !defined(MSDOS)    
+#if !defined(MSDOS) && !defined(__OS2__)    
     
     ssize_t ct;
     short i = channel + FIRSTSCK;
@@ -314,7 +323,7 @@ short msck_write (int channel, char *buf
 short msck_read (int channel, char *buf, long sck_timeout, short sck_timeoutms, short length)
 {
 
-#if !defined(MSDOS)    
+#if !defined(MSDOS) && !defined(__OS2__)    
     fd_set fds;
     short i;
     struct timeval t;
@@ -418,7 +427,7 @@ read_done:
 short msck_close (int channel)
 {
 
-#if !defined(MSDOS)    
+#if !defined(MSDOS) && !defined(__OS2__)    
     short i = channel + FIRSTSCK;