ack/util/grind/message.h

66 lines
2.1 KiB
C
Raw Normal View History

1990-08-31 18:22:53 +00:00
/* $Header$ */
#define BUFLEN 32 /* size of buffer in message header */
#define M_DB_RUN 0100 /* set for commands that cause child to run */
#define M_DB_SS 0200 /* debugger wants single stepping (to be orred
with SETSS(F) or CONT
*/
#define m_type m_buf[0]
#ifdef DEBUGGEE
#define PS sizeof(char *)
#define LS sizeof(long)
#else
#define PS pointer_size
#define LS long_size
#endif
1990-08-31 18:22:53 +00:00
struct message_hdr {
char m_buf[BUFLEN];
/* Possible values of m_buf[0]: */
#define M_SETBP 0 /* set breakpoint at address in next PS bytes */
#define M_CLRBP 1 /* clear breakpoint at address in next PS bytes */
#define M_SETSS (2|M_DB_RUN)
/* set single stepping, # of steps in next LS bytes */
#define M_SETSSF (3|M_DB_RUN)
/* set single stepping,
counting calls as one step
*/
#define M_GETEMREGS 4 /* get EM registers, level in next LS bytes */
#define M_GETBYTES 5 /* get data; size in next LS bytes,
address in next PS bytes
*/
#define M_GETSTR 6 /* get string; max size in next LS bytes,
address in next PS bytes
*/
#define M_SETBYTES 7 /* get data; size in next LS bytes,
address in next PS bytes
*/
/* #define M_CALL 8 /* call function; not implemented */
#define M_CONT (9|M_DB_RUN)
/* continue */
#define M_SETEMREGS 10 /* set EM registers, level in next LS bytes;
Actually, only the program counter is set.
*/
#define M_CLRSS 12 /* clear single stepping */
#define M_DUMP 13 /* dump command */
#define M_DGLOB 14 /* data area */
#define M_DSTACK 15 /* stack area */
#define M_SETTRACE 16 /* start tracing; range in next two PS bytes */
#define M_CLRTRACE 17 /* end tracing */
1990-08-31 18:22:53 +00:00
#define M_OK 50 /* answer of child to most messages */
#define M_FAIL 51 /* answer of child when something goes wrong */
#define M_DATA 52 /* answer of child when data requested */
#define M_END_SS 53 /* stopped because of user single stepping */
#define M_INTR 54 /* sent on interrupt */
1990-08-31 18:22:53 +00:00
};
#define LB_OFF (0*PS+LS+1)
#define AB_OFF (1*PS+LS+1)
#define PC_OFF (2*PS+LS+1)
#define HP_OFF (3*PS+LS+1)
#define SP_OFF (4*PS+LS+1)