]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/minimon.h
import gdb-1999-07-07 post reformat
[thirdparty/binutils-gdb.git] / gdb / minimon.h
index f60c4176f1cd0f18c4d7ae124f93f5d7f1c558c2..8840df4e2def64533c4fcaf04b9454e3e199e24a 100644 (file)
@@ -1,35 +1,36 @@
 /* Definitions and macros for support of AMD's remote debugger, MiniMON.
    Copyright (C) 1990, 1991 Free Software Foundation, Inc.
 
-This file is part of GDB.
+   This file is part of GDB.
 
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
 
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   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., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
 
 /*
  * Some basic types.  FIXME, this should be done by declaring bitfield
  * sizes in the structs.  We can't portably depend on a "long int" being
  * 32 bits, etc.
  */
-typedef long int INT32;            /* 32 bit integer */
-typedef unsigned long int UINT32;  /* 32 bit integer (unsigned) */
-typedef unsigned long int ADDR32;  /* 32 bit address */
-typedef unsigned long int INST32;  /* 32 bit instruction */
-typedef long int BOOLEAN;          /* Boolean value (32 bit) */
-typedef unsigned char BYTE;        /* byte (8 bit) */
-typedef short int INT16;           /* 16 bit integer */
-typedef unsigned short int UINT16; /* 16 bit integer (unsigned) */
+typedef long int INT32;                /* 32 bit integer */
+typedef unsigned long int UINT32;      /* 32 bit integer (unsigned) */
+typedef unsigned long int ADDR32;      /* 32 bit address */
+typedef unsigned long int INST32;      /* 32 bit instruction */
+typedef long int BOOLEAN;      /* Boolean value (32 bit) */
+typedef unsigned char BYTE;    /* byte (8 bit) */
+typedef short int INT16;       /* 16 bit integer */
+typedef unsigned short int UINT16;     /* 16 bit integer (unsigned) */
 
 /****************************************************************************/
 /************************* Message Information ******************************/
@@ -40,90 +41,90 @@ typedef unsigned short int UINT16; /* 16 bit integer (unsigned) */
  */
 
 /* General errors */
-#define EMUSAGE     1  /* Bad args / flags               */
-#define EMFAIL      2  /* Unrecoverable error            */
-#define EMBADADDR   3  /* Illegal address                */
-#define EMBADREG    4  /* Illegal register               */
-#define EMSYNTAX    5  /* Illegal command syntax         */
-#define EMACCESS    6  /* Could not access memory        */
-#define EMALLOC     7  /* Could not allocate memory      */
-#define EMTARGET    8  /* Unknown target type            */
-#define EMHINIT     9  /* Could not initialize host      */
-#define EMCOMM     10  /* Could not open communication channel */
+#define EMUSAGE     1          /* Bad args / flags               */
+#define EMFAIL      2          /* Unrecoverable error            */
+#define EMBADADDR   3          /* Illegal address                */
+#define EMBADREG    4          /* Illegal register               */
+#define EMSYNTAX    5          /* Illegal command syntax         */
+#define EMACCESS    6          /* Could not access memory        */
+#define EMALLOC     7          /* Could not allocate memory      */
+#define EMTARGET    8          /* Unknown target type            */
+#define EMHINIT     9          /* Could not initialize host      */
+#define EMCOMM     10          /* Could not open communication channel */
 
 /* Message errors */
-#define EMBADMSG   11  /* Unknown message type           */
-#define EMMSG2BIG  12  /* Message to large for buffer    */
-#define EMNOSEND   13  /* Could not send message         */
-#define EMNORECV   14  /* Could not receive message      */
-
-#define EMRESET    15  /* Could not RESET target         */
-#define EMCONFIG   16  /* Could not get target CONFIG    */
-#define EMSTATUS   17  /* Could not get target STATUS    */
-#define EMREAD     18  /* Could not READ target memory   */
-#define EMWRITE    19  /* Could not WRITE target memory  */
-#define EMBKPTSET  20  /* Could not set breakpoint       */
-#define EMBKPTRM   21  /* Could not remove breakpoint    */
-#define EMBKPTSTAT 22  /* Could not get breakpoint status */
-#define EMBKPTNONE 23  /* All breakpoints in use         */
-#define EMBKPTUSED 24  /* Breakpoints already in use     */
-#define EMCOPY     25  /* Could not COPY target memory   */
-#define EMFILL     26  /* Could not FILL target memory   */
-#define EMINIT     27  /* Could not initialize target memory */
-#define EMGO       28  /* Could not start execution      */
-#define EMSTEP     29  /* Could not single step          */
-#define EMBREAK    30  /* Could not BREAK                */
-#define EMHIF      31  /* Could not perform HIF service  */
-#define EMCHANNEL0 32  /* Could not read CHANNEL0        */
-#define EMCHANNEL1 33  /* Could not write CHANNEL1       */
+#define EMBADMSG   11          /* Unknown message type           */
+#define EMMSG2BIG  12          /* Message to large for buffer    */
+#define EMNOSEND   13          /* Could not send message         */
+#define EMNORECV   14          /* Could not receive message      */
+
+#define EMRESET    15          /* Could not RESET target         */
+#define EMCONFIG   16          /* Could not get target CONFIG    */
+#define EMSTATUS   17          /* Could not get target STATUS    */
+#define EMREAD     18          /* Could not READ target memory   */
+#define EMWRITE    19          /* Could not WRITE target memory  */
+#define EMBKPTSET  20          /* Could not set breakpoint       */
+#define EMBKPTRM   21          /* Could not remove breakpoint    */
+#define EMBKPTSTAT 22          /* Could not get breakpoint status */
+#define EMBKPTNONE 23          /* All breakpoints in use         */
+#define EMBKPTUSED 24          /* Breakpoints already in use     */
+#define EMCOPY     25          /* Could not COPY target memory   */
+#define EMFILL     26          /* Could not FILL target memory   */
+#define EMINIT     27          /* Could not initialize target memory */
+#define EMGO       28          /* Could not start execution      */
+#define EMSTEP     29          /* Could not single step          */
+#define EMBREAK    30          /* Could not BREAK                */
+#define EMHIF      31          /* Could not perform HIF service  */
+#define EMCHANNEL0 32          /* Could not read CHANNEL0        */
+#define EMCHANNEL1 33          /* Could not write CHANNEL1       */
 
 /* COFF file loader errors */
-#define EMOPEN     34  /* Could not open COFF file       */
-#define EMHDR      35  /* Could not read COFF header     */
-#define EMMAGIC    36  /* Bad magic number               */
-#define EMAOUT     37  /* Could not read COFF a.out header */
-#define EMSCNHDR   38  /* Could not read COFF section header */
-#define EMSCN      39  /* Could not read COFF section    */
-#define EMCLOSE    40  /* Could not close COFF file      */
+#define EMOPEN     34          /* Could not open COFF file       */
+#define EMHDR      35          /* Could not read COFF header     */
+#define EMMAGIC    36          /* Bad magic number               */
+#define EMAOUT     37          /* Could not read COFF a.out header */
+#define EMSCNHDR   38          /* Could not read COFF section header */
+#define EMSCN      39          /* Could not read COFF section    */
+#define EMCLOSE    40          /* Could not close COFF file      */
 
 /* Log file errors */
-#define EMLOGOPEN  41  /* Could not open log file        */
-#define EMLOGREAD  42  /* Could not read log file        */
-#define EMLOGWRITE 43  /* Could not write to log file    */
-#define EMLOGCLOSE 44  /* Could not close log file       */
+#define EMLOGOPEN  41          /* Could not open log file        */
+#define EMLOGREAD  42          /* Could not read log file        */
+#define EMLOGWRITE 43          /* Could not write to log file    */
+#define EMLOGCLOSE 44          /* Could not close log file       */
 
 /* Command file errors */
-#define EMCMDOPEN  45  /* Could not open command file    */
-#define EMCMDREAD  46  /* Could not read command file    */
-#define EMCMDWRITE 47  /* Could not write to command file */
-#define EMCMDCLOSE 48  /* Could not close comand file    */
-
-#define EMTIMEOUT  49  /* Host timed out waiting for a message */
-#define EMCOMMTYPE 50  /* A '-t' flag must be specified  */
-#define EMCOMMERR  51  /* Communication error            */
-#define EMBAUD     52  /* Invalid baud rate specified    */
+#define EMCMDOPEN  45          /* Could not open command file    */
+#define EMCMDREAD  46          /* Could not read command file    */
+#define EMCMDWRITE 47          /* Could not write to command file */
+#define EMCMDCLOSE 48          /* Could not close comand file    */
+
+#define EMTIMEOUT  49          /* Host timed out waiting for a message */
+#define EMCOMMTYPE 50          /* A '-t' flag must be specified  */
+#define EMCOMMERR  51          /* Communication error            */
+#define EMBAUD     52          /* Invalid baud rate specified    */
 /*
  * Memory Spaces
  */
-#define LOCAL_REG    0  /* Local processor register     */
-#define GLOBAL_REG   1  /* Global processor register    */
-#define SPECIAL_REG  2  /* Special processor register   */
-#define TLB_REG      3  /* Translation Lookaside Buffer */
-#define COPROC_REG   4  /* Coprocessor register         */
-#define I_MEM        5  /* Instruction Memory           */
-#define D_MEM        6  /* Data Memory                  */
-#define I_ROM        7  /* Instruction ROM              */
-#define D_ROM        8  /* Data ROM                     */
-#define I_O          9  /* Input/Output                 */
-#define I_CACHE     10  /* Instruction Cache            */
-#define D_CACHE     11  /* Data Cache                   */
+#define LOCAL_REG    0         /* Local processor register     */
+#define GLOBAL_REG   1         /* Global processor register    */
+#define SPECIAL_REG  2         /* Special processor register   */
+#define TLB_REG      3         /* Translation Lookaside Buffer */
+#define COPROC_REG   4         /* Coprocessor register         */
+#define I_MEM        5         /* Instruction Memory           */
+#define D_MEM        6         /* Data Memory                  */
+#define I_ROM        7         /* Instruction ROM              */
+#define D_ROM        8         /* Data ROM                     */
+#define I_O          9         /* Input/Output                 */
+#define I_CACHE     10         /* Instruction Cache            */
+#define D_CACHE     11         /* Data Cache                   */
 
 /* To supress warnings for zero length array definitions */
 #define DUMMY 1
 
 /*
-** Host to target definitions
-*/
+   ** Host to target definitions
+ */
 
 #define RESET          0
 #define CONFIG_REQ     1
@@ -146,8 +147,8 @@ typedef unsigned short int UINT16; /* 16 bit integer (unsigned) */
 
 
 /*
-** Target to host definitions
-*/
+   ** Target to host definitions
+ */
 
 #define RESET_ACK     32
 #define CONFIG        33
@@ -170,393 +171,431 @@ typedef unsigned short int UINT16; /* 16 bit integer (unsigned) */
 
 
 /* A "generic" message */
-struct generic_msg_t {
-          INT32    code;  /* generic */
-          INT32    length;
-          BYTE     byte[DUMMY];
-};
+struct generic_msg_t
+  {
+    INT32 code;                        /* generic */
+    INT32 length;
+    BYTE byte[DUMMY];
+  };
 
 
 /* A "generic" message (with an INT32 array) */
-struct generic_int32_msg_t {
-          INT32    code;  /* generic */
-          INT32    length;
-          INT32    int32[DUMMY];
-};
+struct generic_int32_msg_t
+  {
+    INT32 code;                        /* generic */
+    INT32 length;
+    INT32 int32[DUMMY];
+  };
 
 
 /*
-** Host to target messages
-*/
-
-struct reset_msg_t {
-          INT32    code;  /* 0 */
-          INT32    length;
-};
-
-
-struct config_req_msg_t {
-          INT32    code;  /* 1 */
-          INT32    length;
-};
-
-
-struct status_req_msg_t {
-          INT32    code;  /* 2 */
-          INT32    length;
-};
-
-
-struct read_req_msg_t {
-          INT32    code;  /* 3 */
-          INT32    length;
-          INT32    memory_space;
-          ADDR32   address;
-          INT32    byte_count;
-};
-
-
-struct write_req_msg_t {
-          INT32    code;  /* 4 */
-          INT32    length;
-          INT32    memory_space;
-          ADDR32   address;
-          INT32    byte_count;
-          BYTE     data[DUMMY];
-};
-
-
-struct write_r_msg_t {
-          INT32    code;  /* 4 */
-          INT32    length;
-          INT32    memory_space;
-          ADDR32   address;
-          INT32    byte_count;
-          INT32    data[DUMMY];
-};
-
-
-struct bkpt_set_msg_t {
-          INT32    code;  /* 5 */
-          INT32    length;
-          INT32    memory_space;
-          ADDR32   bkpt_addr;
-          INT32    pass_count;
-          INT32    bkpt_type;
-};
-
-
-struct bkpt_rm_msg_t {
-          INT32    code;  /* 6 */
-          INT32    length;
-          INT32    memory_space;
-          ADDR32   bkpt_addr;
-};
-
-
-struct bkpt_stat_msg_t {
-          INT32    code;  /* 7 */
-          INT32    length;
-          INT32    memory_space;
-          ADDR32   bkpt_addr;
-};
-
-
-struct copy_msg_t {
-          INT32    code;  /* 8 */
-          INT32    length;
-          INT32    source_space;
-          ADDR32   source_addr;
-          INT32    dest_space;
-          ADDR32   dest_addr;
-          INT32    byte_count;
-};
-
-
-struct fill_msg_t {
-          INT32    code;  /* 9 */
-          INT32    length;
-          INT32    memory_space;
-          ADDR32   start_addr;
-          INT32    fill_count;
-          INT32    byte_count;
-          BYTE     fill_data[DUMMY];
-};
-
-
-struct init_msg_t {
-          INT32    code;  /* 10 */
-          INT32    length;
-          ADDR32   text_start;
-          ADDR32   text_end;
-          ADDR32   data_start;
-          ADDR32   data_end;
-          ADDR32   entry_point;
-          INT32    mem_stack_size;
-          INT32    reg_stack_size;
-          ADDR32   arg_start;
-          INT32    os_control;
-};
-
-
-struct go_msg_t {
-          INT32    code;  /* 11 */
-          INT32    length;
-};
-
-
-struct step_msg_t {
-          INT32    code;  /* 12 */
-          INT32    length;
-          INT32    count;
-};
-
-
-struct break_msg_t {
-          INT32    code;  /* 13 */
-          INT32    length;
-};
-
-
-struct hif_call_rtn_msg_t {
-          INT32    code;  /* 64 */
-          INT32    length;
-          INT32    service_number;
-          INT32    gr121;
-          INT32    gr96;
-          INT32    gr97;
-};
-
-
-struct channel0_msg_t {
-          INT32    code;  /* 65 */
-          INT32    length;
-          BYTE     data;
-};
-
+   ** Host to target messages
+ */
 
-struct channel1_ack_msg_t {
-          INT32    code;  /* 66 */
-          INT32    length;
-};
+struct reset_msg_t
+  {
+    INT32 code;                        /* 0 */
+    INT32 length;
+  };
+
+
+struct config_req_msg_t
+  {
+    INT32 code;                        /* 1 */
+    INT32 length;
+  };
+
+
+struct status_req_msg_t
+  {
+    INT32 code;                        /* 2 */
+    INT32 length;
+  };
+
+
+struct read_req_msg_t
+  {
+    INT32 code;                        /* 3 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 address;
+    INT32 byte_count;
+  };
+
+
+struct write_req_msg_t
+  {
+    INT32 code;                        /* 4 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 address;
+    INT32 byte_count;
+    BYTE data[DUMMY];
+  };
+
+
+struct write_r_msg_t
+  {
+    INT32 code;                        /* 4 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 address;
+    INT32 byte_count;
+    INT32 data[DUMMY];
+  };
+
+
+struct bkpt_set_msg_t
+  {
+    INT32 code;                        /* 5 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 bkpt_addr;
+    INT32 pass_count;
+    INT32 bkpt_type;
+  };
+
+
+struct bkpt_rm_msg_t
+  {
+    INT32 code;                        /* 6 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 bkpt_addr;
+  };
+
+
+struct bkpt_stat_msg_t
+  {
+    INT32 code;                        /* 7 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 bkpt_addr;
+  };
+
+
+struct copy_msg_t
+  {
+    INT32 code;                        /* 8 */
+    INT32 length;
+    INT32 source_space;
+    ADDR32 source_addr;
+    INT32 dest_space;
+    ADDR32 dest_addr;
+    INT32 byte_count;
+  };
+
+
+struct fill_msg_t
+  {
+    INT32 code;                        /* 9 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 start_addr;
+    INT32 fill_count;
+    INT32 byte_count;
+    BYTE fill_data[DUMMY];
+  };
+
+
+struct init_msg_t
+  {
+    INT32 code;                        /* 10 */
+    INT32 length;
+    ADDR32 text_start;
+    ADDR32 text_end;
+    ADDR32 data_start;
+    ADDR32 data_end;
+    ADDR32 entry_point;
+    INT32 mem_stack_size;
+    INT32 reg_stack_size;
+    ADDR32 arg_start;
+    INT32 os_control;
+  };
+
+
+struct go_msg_t
+  {
+    INT32 code;                        /* 11 */
+    INT32 length;
+  };
+
+
+struct step_msg_t
+  {
+    INT32 code;                        /* 12 */
+    INT32 length;
+    INT32 count;
+  };
+
+
+struct break_msg_t
+  {
+    INT32 code;                        /* 13 */
+    INT32 length;
+  };
+
+
+struct hif_call_rtn_msg_t
+  {
+    INT32 code;                        /* 64 */
+    INT32 length;
+    INT32 service_number;
+    INT32 gr121;
+    INT32 gr96;
+    INT32 gr97;
+  };
+
+
+struct channel0_msg_t
+  {
+    INT32 code;                        /* 65 */
+    INT32 length;
+    BYTE data;
+  };
+
+
+struct channel1_ack_msg_t
+  {
+    INT32 code;                        /* 66 */
+    INT32 length;
+  };
 
 
 /*
-** Target to host messages
-*/
-
-
-struct reset_ack_msg_t {
-          INT32    code;  /* 32 */
-          INT32    length;
-};
-
-
-struct config_msg_t {
-          INT32    code;  /* 33 */
-          INT32    length;
-          INT32    processor_id;
-          INT32    version;
-          ADDR32   I_mem_start;
-          INT32    I_mem_size;
-          ADDR32   D_mem_start;
-          INT32    D_mem_size;
-          ADDR32   ROM_start;
-          INT32    ROM_size;
-          INT32    max_msg_size;
-          INT32    max_bkpts;
-          INT32    coprocessor;
-          INT32    reserved;
-};
-
-
-struct status_msg_t {
-          INT32    code;  /* 34 */
-          INT32    length;
-          INT32    msgs_sent;
-          INT32    msgs_received;
-          INT32    errors;
-          INT32    bkpts_hit;
-          INT32    bkpts_free;
-          INT32    traps;
-          INT32    fills;
-          INT32    spills;
-          INT32    cycles;
-          INT32    reserved;
-};
-
-
-struct read_ack_msg_t {
-          INT32    code;  /* 35 */
-          INT32    length;
-          INT32    memory_space;
-          ADDR32   address;
-          INT32    byte_count;
-          BYTE     data[DUMMY];
-};
-
-struct read_r_ack_msg_t {
-          INT32    code;  /* 35 */
-          INT32    length;
-          INT32    memory_space;
-          ADDR32   address;
-          INT32    byte_count;
-          INT32    data[DUMMY];
-};
-
-
-struct write_ack_msg_t {
-          INT32    code;  /* 36 */
-          INT32    length;
-          INT32    memory_space;
-          ADDR32   address;
-          INT32    byte_count;
-};
-
-
-struct bkpt_set_ack_msg_t {
-          INT32    code;  /* 37 */
-          INT32    length;
-          INT32    memory_space;
-          ADDR32   address;
-          INT32    pass_count;
-          INT32    bkpt_type;
-};
-
-
-struct bkpt_rm_ack_msg_t {
-          INT32    code;  /* 38 */
-          INT32    length;
-          INT32    memory_space;
-          ADDR32   address;
-};
-
-
-struct bkpt_stat_ack_msg_t {
-          INT32    code;  /* 39 */
-          INT32    length; 
-          INT32    memory_space;
-          ADDR32   address;
-          INT32    pass_count;
-          INT32    bkpt_type;
-};
-
-
-struct copy_ack_msg_t {
-          INT32    code;  /* 40 */
-          INT32    length;
-          INT32    source_space;
-          ADDR32   source_addr;
-          INT32    dest_space;
-          ADDR32   dest_addr;
-          INT32    byte_count;
-};
-
-
-struct fill_ack_msg_t {
-          INT32    code;  /* 41 */
-          INT32    length;
-          INT32    memory_space;
-          ADDR32   start_addr;
-          INT32    fill_count;
-          INT32    byte_count;
-};
-
-
-struct init_ack_msg_t {
-          INT32    code;  /* 42 */
-          INT32    length;
-};
-
-
-struct halt_msg_t {
-          INT32    code;  /* 43 */
-          INT32    length;
-          INT32    memory_space;
-          ADDR32   pc0;
-          ADDR32   pc1;
-          INT32    trap_number;
-};
-
-
-struct error_msg_t {
-          INT32    code;  /* 63 */
-          INT32    length;
-          INT32    error_code;
-          INT32    memory_space;
-          ADDR32   address;
-};
-
-
-struct hif_call_msg_t {
-          INT32    code;  /* 96 */
-          INT32    length;
-          INT32    service_number;
-          INT32    lr2;
-          INT32    lr3;
-          INT32    lr4;
-};
-
-
-struct channel0_ack_msg_t {
-          INT32    code;  /* 97 */
-          INT32    length;
-};
+   ** Target to host messages
+ */
 
 
-struct channel1_msg_t {
-          INT32    code;  /* 98 */
-          INT32    length;
-          BYTE     data[DUMMY];
-};
+struct reset_ack_msg_t
+  {
+    INT32 code;                        /* 32 */
+    INT32 length;
+  };
+
+
+struct config_msg_t
+  {
+    INT32 code;                        /* 33 */
+    INT32 length;
+    INT32 processor_id;
+    INT32 version;
+    ADDR32 I_mem_start;
+    INT32 I_mem_size;
+    ADDR32 D_mem_start;
+    INT32 D_mem_size;
+    ADDR32 ROM_start;
+    INT32 ROM_size;
+    INT32 max_msg_size;
+    INT32 max_bkpts;
+    INT32 coprocessor;
+    INT32 reserved;
+  };
+
+
+struct status_msg_t
+  {
+    INT32 code;                        /* 34 */
+    INT32 length;
+    INT32 msgs_sent;
+    INT32 msgs_received;
+    INT32 errors;
+    INT32 bkpts_hit;
+    INT32 bkpts_free;
+    INT32 traps;
+    INT32 fills;
+    INT32 spills;
+    INT32 cycles;
+    INT32 reserved;
+  };
+
+
+struct read_ack_msg_t
+  {
+    INT32 code;                        /* 35 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 address;
+    INT32 byte_count;
+    BYTE data[DUMMY];
+  };
+
+struct read_r_ack_msg_t
+  {
+    INT32 code;                        /* 35 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 address;
+    INT32 byte_count;
+    INT32 data[DUMMY];
+  };
+
+
+struct write_ack_msg_t
+  {
+    INT32 code;                        /* 36 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 address;
+    INT32 byte_count;
+  };
+
+
+struct bkpt_set_ack_msg_t
+  {
+    INT32 code;                        /* 37 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 address;
+    INT32 pass_count;
+    INT32 bkpt_type;
+  };
+
+
+struct bkpt_rm_ack_msg_t
+  {
+    INT32 code;                        /* 38 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 address;
+  };
+
+
+struct bkpt_stat_ack_msg_t
+  {
+    INT32 code;                        /* 39 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 address;
+    INT32 pass_count;
+    INT32 bkpt_type;
+  };
+
+
+struct copy_ack_msg_t
+  {
+    INT32 code;                        /* 40 */
+    INT32 length;
+    INT32 source_space;
+    ADDR32 source_addr;
+    INT32 dest_space;
+    ADDR32 dest_addr;
+    INT32 byte_count;
+  };
+
+
+struct fill_ack_msg_t
+  {
+    INT32 code;                        /* 41 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 start_addr;
+    INT32 fill_count;
+    INT32 byte_count;
+  };
+
+
+struct init_ack_msg_t
+  {
+    INT32 code;                        /* 42 */
+    INT32 length;
+  };
+
+
+struct halt_msg_t
+  {
+    INT32 code;                        /* 43 */
+    INT32 length;
+    INT32 memory_space;
+    ADDR32 pc0;
+    ADDR32 pc1;
+    INT32 trap_number;
+  };
+
+
+struct error_msg_t
+  {
+    INT32 code;                        /* 63 */
+    INT32 length;
+    INT32 error_code;
+    INT32 memory_space;
+    ADDR32 address;
+  };
+
+
+struct hif_call_msg_t
+  {
+    INT32 code;                        /* 96 */
+    INT32 length;
+    INT32 service_number;
+    INT32 lr2;
+    INT32 lr3;
+    INT32 lr4;
+  };
+
+
+struct channel0_ack_msg_t
+  {
+    INT32 code;                        /* 97 */
+    INT32 length;
+  };
+
+
+struct channel1_msg_t
+  {
+    INT32 code;                        /* 98 */
+    INT32 length;
+    BYTE data[DUMMY];
+  };
 
 
 
 /*
-** Union all of the message types together
-*/
-
-union msg_t {
-         struct generic_msg_t        generic_msg;
-         struct generic_int32_msg_t  generic_int32_msg;
-
-         struct reset_msg_t          reset_msg;
-         struct config_req_msg_t     config_req_msg;
-         struct status_req_msg_t     status_req_msg;
-         struct read_req_msg_t       read_req_msg;
-         struct write_req_msg_t      write_req_msg;
-         struct write_r_msg_t        write_r_msg;
-         struct bkpt_set_msg_t       bkpt_set_msg;
-         struct bkpt_rm_msg_t        bkpt_rm_msg;
-         struct bkpt_stat_msg_t      bkpt_stat_msg;
-         struct copy_msg_t           copy_msg;
-         struct fill_msg_t           fill_msg;
-         struct init_msg_t           init_msg;
-         struct go_msg_t             go_msg;
-         struct step_msg_t           step_msg;
-         struct break_msg_t          break_msg;
-
-         struct hif_call_rtn_msg_t   hif_call_rtn_msg;
-         struct channel0_msg_t       channel0_msg;
-         struct channel1_ack_msg_t   channel1_ack_msg;
-
-         struct reset_ack_msg_t      reset_ack_msg;
-         struct config_msg_t         config_msg;
-         struct status_msg_t         status_msg;
-         struct read_ack_msg_t       read_ack_msg;
-         struct read_r_ack_msg_t     read_r_ack_msg;
-         struct write_ack_msg_t      write_ack_msg;
-         struct bkpt_set_ack_msg_t   bkpt_set_ack_msg;
-         struct bkpt_rm_ack_msg_t    bkpt_rm_ack_msg;
-         struct bkpt_stat_ack_msg_t  bkpt_stat_ack_msg;
-         struct copy_ack_msg_t       copy_ack_msg;
-         struct fill_ack_msg_t       fill_ack_msg;
-         struct init_ack_msg_t       init_ack_msg;
-         struct halt_msg_t           halt_msg;
-
-         struct error_msg_t          error_msg;
-
-         struct hif_call_msg_t       hif_call_msg;
-         struct channel0_ack_msg_t   channel0_ack_msg;
-         struct channel1_msg_t       channel1_msg;
-};
+   ** Union all of the message types together
+ */
+
+union msg_t
+  {
+    struct generic_msg_t generic_msg;
+    struct generic_int32_msg_t generic_int32_msg;
+
+    struct reset_msg_t reset_msg;
+    struct config_req_msg_t config_req_msg;
+    struct status_req_msg_t status_req_msg;
+    struct read_req_msg_t read_req_msg;
+    struct write_req_msg_t write_req_msg;
+    struct write_r_msg_t write_r_msg;
+    struct bkpt_set_msg_t bkpt_set_msg;
+    struct bkpt_rm_msg_t bkpt_rm_msg;
+    struct bkpt_stat_msg_t bkpt_stat_msg;
+    struct copy_msg_t copy_msg;
+    struct fill_msg_t fill_msg;
+    struct init_msg_t init_msg;
+    struct go_msg_t go_msg;
+    struct step_msg_t step_msg;
+    struct break_msg_t break_msg;
+
+    struct hif_call_rtn_msg_t hif_call_rtn_msg;
+    struct channel0_msg_t channel0_msg;
+    struct channel1_ack_msg_t channel1_ack_msg;
+
+    struct reset_ack_msg_t reset_ack_msg;
+    struct config_msg_t config_msg;
+    struct status_msg_t status_msg;
+    struct read_ack_msg_t read_ack_msg;
+    struct read_r_ack_msg_t read_r_ack_msg;
+    struct write_ack_msg_t write_ack_msg;
+    struct bkpt_set_ack_msg_t bkpt_set_ack_msg;
+    struct bkpt_rm_ack_msg_t bkpt_rm_ack_msg;
+    struct bkpt_stat_ack_msg_t bkpt_stat_ack_msg;
+    struct copy_ack_msg_t copy_ack_msg;
+    struct fill_ack_msg_t fill_ack_msg;
+    struct init_ack_msg_t init_ack_msg;
+    struct halt_msg_t halt_msg;
+
+    struct error_msg_t error_msg;
+
+    struct hif_call_msg_t hif_call_msg;
+    struct channel0_ack_msg_t channel0_ack_msg;
+    struct channel1_msg_t channel1_msg;
+  };