-/* Remote serial interface for GO32
-
- Copyright 1992
- Free Software Foundation, Inc.
+/* Remote serial interface for GO32, for GDB, the GNU Debugger.
+ Copyright 1992 Free Software Foundation, Inc.
This file is part of GDB.
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-#include <stdio.h>
-#include <sys/dos.h>
+/* This file shows most of the obvious problems of code written for
+ the IBM PC. FIXME. -- gnu@cygnus.com, Sep92 */
#include "defs.h"
#include "serial.h"
+#include <sys/dos.h>
#define SIGNATURE 0x4154
#define VERSION 1
#define com_lsr iov+5
#define com_msr iov+6
+static int fd;
+
+
#if MONO
#include <sys/pc.h>
static int mono_pos=0;
#define mono_rx 0x07
#define mono_tx 0x70
-void mono_put(char byte, char attr)
+void
+mono_put(char byte, char attr)
{
ScreenSecondary[320+mono_pos+80] = 0x0720;
ScreenSecondary[320+mono_pos] = (attr<<8) | (byte&0xff);
#endif
-static char far *aptr(short p)
+static char far *
+aptr(short p)
{
#ifdef __GNUC__
return (char *)((unsigned)async - OFFSET + p);
#endif
}
-static ASYNC_STRUCT far *getivec(int which)
+static ASYNC_STRUCT far *
+getivec(int which)
{
ASYNC_STRUCT far *a;
return a;
}
-int dos_async_init()
+int
+dos_async_init()
{
int i;
ASYNC_STRUCT far *a1;
return 2;
}
+void
dos_async_tx(char c)
{
dprintf("dos_async_tx: enter %x - with IOV %x", c, com_lsr);
dprintf("exit\n");
}
-int dos_async_ready()
+int
+dos_async_ready()
{
return (async->getp != async->putp);
}
-int dos_async_rx()
+int
+dos_async_rx()
{
char rv;
dprintf("dos_async_rx: enter - ");
return rv;
}
-int dos_kb_ready()
+int
+dos_kb_ready()
{
return (peek(0x40,0x1a) != peek(0x40,0x1c));
}
-int dos_kb_rx()
+int
+dos_kb_rx()
{
#ifdef __GNUC__
return getkey();
#endif
}
-int dosasync_read(int fd, char *buffer, int length, int timeout)
+int
+dosasync_read (int fd, char *buffer, int length, int timeout)
{
long now, then;
int l = length;
return length;
}
-int dosasync_write(int fd, CONST char *buffer, int length)
+int
+dosasync_write(int fd, const char *buffer, int length)
{
int l = length;
while (l--)
-char *strlwr(char *s)
+char *
+strlwr(char *s)
{
char *p = s;
while (*s)
return p;
}
-sigsetmask() {
+sigsetmask()
+{
}
-
-
-
-static int fd;
-
-CONST char *
-DEFUN_VOID(serial_default_name)
+\f
+const char *
+serial_default_name ()
{
return "com1";
}
void
-DEFUN_VOID(serial_raw)
+serial_raw ()
{
-/* Always in raw mode */
+ /* Always in raw mode */
}
int
-DEFUN(serial_open,(name),
- CONST char *name)
+serial_open (name)
+ const char *name;
{
fd = dos_async_init();
if (fd) return 1;
}
int
-DEFUN(serial_timedreadchar,(to, ok),
- int to AND
- int *ok)
+serial_timedreadchar (to, ok)
+ int to;
+ int *ok;
{
char buf;
- if ( dosasync_read(fd, &buf, 1, to))
+ if (dosasync_read(fd, &buf, 1, to))
{
*ok = 1;
}
}
int
-DEFUN(serial_setbaudrate,(rate),
- int rate)
+serial_setbaudrate (rate)
+ int rate;
{
return 0;
}
int
-DEFUN(serial_nextbaudrate,(rate),
- int rate)
+serial_nextbaudrate (rate)
+ int rate;
{
return 0;
}
int
-DEFUN(serial_write,(str, len),
- CONST char *str AND
- int len)
+serial_write (str, len)
+ const char *str;
+ int len;
{
dosasync_write(fd, str, len);
}
int
-DEFUN_VOID(serial_close)
+serial_close ()
{
-
-
}
-