--- freem/src/init.c	2025/02/25 18:53:14	1.3
+++ freem/src/init.c	2025/03/24 04:44:55	1.8
@@ -1,23 +1,11 @@
 /*
- *                            *
- *                           * *
- *                          *   *
- *                     ***************
- *                      * *       * *
- *                       *  MUMPS  *
- *                      * *       * *
- *                     ***************
- *                          *   *
- *                           * *
- *                            *
- *
- *   init.c
+ *   $Id: init.c,v 1.8 2025/03/24 04:44:55 snw Exp $
  *    FreeM initialization 
  *
  *  
- *   Author: Serena Willis <jpw@coherent-logic.com>
+ *   Author: Serena Willis <snw@coherent-logic.com>
  *    Copyright (C) 1998 MUG Deutschland
- *    Copyright (C) 2020 Coherent Logic Development LLC
+ *    Copyright (C) 2020, 2025 Coherent Logic Development LLC
  *
  *
  *   This file is part of FreeM.
@@ -35,6 +23,19 @@
  *   You should have received a copy of the GNU Affero Public License
  *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
  *
+ *   $Log: init.c,v $
+ *   Revision 1.8  2025/03/24 04:44:55  snw
+ *   Don't call ttyname on OS/2
+ *
+ *   Revision 1.7  2025/03/24 04:05:36  snw
+ *   Replace crlf with frm_crlf to avoid symbol conflict with readline on OS/2
+ *
+ *   Revision 1.6  2025/03/09 19:14:25  snw
+ *   First phase of REUSE compliance and header reformat
+ *
+ *
+ * SPDX-FileCopyrightText:  (C) 2025 Coherent Logic Development LLC
+ * SPDX-License-Identifier: AGPL-3.0-or-later
  **/
 
 #include <stdio.h>
@@ -49,8 +50,19 @@
 #include <errno.h>
 #include <sys/ioctl.h>
 
-#if defined(__sun) || defined(__FreeBSD__) || defined(__NetBSD__)
-# include <termio.h>
+#if !defined(__APPLE__) && !defined(__gnu_hurd__) && !defined(EMSCRIPTEN)
+# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__AMIGA)
+#  include <termios.h>
+#  if !defined(__AMIGA)
+#   define TCGETA TIOCGETA
+#   define TCSETA TIOCSETA
+#  endif
+#  define termio termios
+# else
+#  if !defined(MSDOS)
+#    include <termio.h>
+#  endif
+# endif
 #else
 # include <termios.h>
 #endif
@@ -541,13 +553,13 @@ void init_io (void)
     sq_modes[0] = '+';
     for (i = 0; i <= MAXDEV; ug_buf[i++][0] = EOL); /* init read-buffers */
 
-    crlf[HOME] = frm_filter;
+    frm_crlf[HOME] = frm_filter;
 
     if (hardcopy) zbreakon = ENABLE;        /* enable CTRL/B */
 
     set_io (MUMPS);         /* set i/o parameters */
 
-#if !defined(__AMIGA)
+#if !defined(__AMIGA) && !defined(__OS2__)
     if (ttyname (HOME)) {       /* for $IO of HOME */
         strcpy (dev[HOME], ttyname (HOME));
         dev[HOME][strlen (dev[HOME])] = EOL;
@@ -556,7 +568,13 @@ void init_io (void)
         dev[HOME][0] = EOL;     /* ...we are in a pipe */
     }
 #else
+#if defined(__AMIGA)
     strcpy (dev[HOME], "CONSOLE:");
+#else
+#if defined(__OS2__)
+    strcpy (dev[HOME], "CON:");
+#endif
+#endif
 #endif    
 
     /* init function keys */