]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/rdi-share/devsw.c
import gdb-2000-01-24 snapshot
[thirdparty/binutils-gdb.git] / gdb / rdi-share / devsw.c
index b48c337ccf026b7a6de863e635fabce52aad00c5..58c0bfed8238d8a8b4661a2f8b75034958b61271 100644 (file)
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <fcntl.h>
 
 #include "adp.h"
+#include "sys.h"
 #include "hsys.h"
 #include "rxtx.h"
 #include "drivers.h"
@@ -47,9 +49,14 @@ static void openLogFile ()
       perror ("fopen");
     }
   else
-    /* The following line is equivalent to: */
-    /* setlinebuf (angelDebugLogFile); */
-    setvbuf(angelDebugLogFile, (char *)NULL, _IOLBF, 0);
+    {
+      /* The following line is equivalent to: */
+      /* setlinebuf (angelDebugLogFile); */
+      setvbuf(angelDebugLogFile, (char *)NULL, _IOLBF, 0);
+#if defined(__CYGWIN32__) || defined(__CYGWIN__)
+      setmode(fileno(angelDebugLogFile), O_TEXT);
+#endif
+    }
   
   time (&t);
   fprintf (angelDebugLogFile,"ADP log file opened at %s\n",asctime(localtime(&t)));
@@ -107,6 +114,7 @@ static void dumpPacket(FILE *fp, char *label, struct data_packet *p)
 {
   unsigned r;
   int i;
+  unsigned char channel;
   
   if (!fp)
     return;
@@ -116,12 +124,14 @@ static void dumpPacket(FILE *fp, char *label, struct data_packet *p)
     fprintf(fp,"%02x ",p->data[i]);
   fprintf(fp,"\n");
 
+  channel = p->data[0];
+
   r = WordAt(p->data+4);
   
   fprintf(fp,"R=%08x ",r);
   fprintf(fp,"%s ", r&0x80000000 ? "H<-T" : "H->T");
 
-  switch ((r>>16) & 0xff)
+  switch (channel)
     {
      case CI_PRIVATE: fprintf(fp,"CI_PRIVATE: "); break;
      case CI_HADP: fprintf(fp,"CI_HADP: "); break;
@@ -176,6 +186,28 @@ static void dumpPacket(FILE *fp, char *label, struct data_packet *p)
      case ADP_Stopped: fprintf(fp," ADP_Stopped "); break;
      case ADP_TDCC_ToHost: fprintf(fp," ADP_TDCC_ToHost "); break;
      case ADP_TDCC_FromHost: fprintf(fp," ADP_TDCC_FromHost "); break;
+
+     case CL_Unrecognised: fprintf(fp," CL_Unrecognised "); break;
+     case CL_WriteC: fprintf(fp," CL_WriteC "); break;
+     case CL_Write0: fprintf(fp," CL_Write0 "); break;
+     case CL_ReadC: fprintf(fp," CL_ReadC "); break;
+     case CL_System: fprintf(fp," CL_System "); break;
+     case CL_GetCmdLine: fprintf(fp," CL_GetCmdLine "); break;
+     case CL_Clock: fprintf(fp," CL_Clock "); break;
+     case CL_Time: fprintf(fp," CL_Time "); break;
+     case CL_Remove: fprintf(fp," CL_Remove "); break;
+     case CL_Rename: fprintf(fp," CL_Rename "); break;
+     case CL_Open: fprintf(fp," CL_Open "); break;
+     case CL_Close: fprintf(fp," CL_Close "); break;
+     case CL_Write: fprintf(fp," CL_Write "); break;
+     case CL_WriteX: fprintf(fp," CL_WriteX "); break;
+     case CL_Read: fprintf(fp," CL_Read "); break;
+     case CL_ReadX: fprintf(fp," CL_ReadX "); break;
+     case CL_Seek: fprintf(fp," CL_Seek "); break;
+     case CL_Flen: fprintf(fp," CL_Flen "); break;
+     case CL_IsTTY: fprintf(fp," CL_IsTTY "); break;
+     case CL_TmpNam: fprintf(fp," CL_TmpNam "); break;
+
      default: fprintf(fp," BadReason "); break;
     }
 
@@ -410,7 +442,7 @@ AdpErrs DevSW_Match(const DeviceDescr *device, const char *name,
     return (device->DeviceMatch(name, arg) == -1) ? adp_failed : adp_ok;
 }
 
-AdpErrs DevSW_Close(const DeviceDescr *device, const DevChanID type)
+AdpErrs DevSW_Close (DeviceDescr *device, const DevChanID type)
 {
     DevSWState *ds = (DevSWState *)(device->SwitcherState);
     Packet *pk;