* Makefile.in (LIBCOMMON): Define.
[deliverable/binutils-gdb.git] / gdb / ser-e7kpc.c
index 55d96a56b0979eda0287418463aef93d6bd15ec2..abe855bd7da5d1b0d73ea1746387e7a50d841dc8 100644 (file)
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
-
-#ifdef __GO32__
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#if defined(__GO32__) || defined(__WIN32__)
+#if defined(__WIN32__)
+//#define KERNEL
+//#define STRICT
+//#include <windows.h>
+/* we define the 32-bit calls which thunk to 16-bit dll calls 
+ */
+#include "win-e7kpc.h"
+/* msvc uses strnicmp instead */
+#define strncasecmp strnicmp
+#else
+#include <sys/dos.h>
 #include "defs.h"
+#endif
 #include "serial.h"
-#include <sys/dos.h>
-
 
 
 static int e7000pc_open PARAMS ((serial_t scb, const char *name));
@@ -78,6 +88,23 @@ static unsigned long pon;
 static unsigned long irqtop;
 static unsigned long board_at;
 
+#ifdef __WIN32__
+// These routines are normally part of the go32 dos extender.
+// We redefine them here to be calls into their Windoze equivs.
+static void dosmemget(int offset, int length, void *buffer);
+static void dosmemput(const void *buffer, int length, int offset);
+
+void dosmemget(int offset, int length, void *buffer)
+{
+    win_mem_get(buffer, length, offset);
+}
+void dosmemput(const void *buffer, int length, int offset)
+{
+    win_mem_put (buffer, length, offset);
+}
+
+#endif
+
 #define SET_BYTE(x,y)   { char _buf = y;dosmemput(&_buf,1, x);}
 #define SET_WORD(x,y)   { short _buf = y;dosmemput(&_buf,2, x);}
 #define GET_BYTE(x)     ( dosmemget(x,1,&bb), bb)
@@ -276,7 +303,13 @@ e7000pc_open (scb, name)
       errno = ENOENT;
       return -1;
     }
-
+#ifdef __WIN32__
+  if (win_load_e7kpc () != 0)
+    {
+      errno = ENOENT;
+      return -1;
+    }
+#endif
   scb->fd = e7000pc_init ();
 
   if (!scb->fd)
@@ -384,6 +417,9 @@ static void
 e7000pc_close (scb)
      serial_t scb;
 {
+#ifdef __WIN32__
+  win_unload_e7kpc ();
+#endif
 }
 
 static struct serial_ops e7000pc_ops =
This page took 0.023543 seconds and 4 git commands to generate.