message.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /* $Id$ */
  2. #define BUFLEN 32 /* size of buffer in message header */
  3. #define M_DB_RUN 0100 /* set for commands that cause child to run */
  4. #define M_DB_SS 0200 /* debugger wants single stepping (to be orred
  5. with SETSS(F) or CONT
  6. */
  7. #define m_type m_buf[0]
  8. #define PS 4
  9. #define LS 4
  10. struct message_hdr {
  11. char m_buf[BUFLEN];
  12. /* Possible values of m_buf[0]: */
  13. #define M_SETBP 0 /* set breakpoint at address in next PS bytes */
  14. #define M_CLRBP 1 /* clear breakpoint at address in next PS bytes */
  15. #define M_SETSS (2|M_DB_RUN)
  16. /* set single stepping, # of steps in next LS bytes */
  17. #define M_SETSSF (3|M_DB_RUN)
  18. /* set single stepping,
  19. counting calls as one step
  20. */
  21. #define M_GETEMREGS 4 /* get EM registers, level in next LS bytes */
  22. #define M_GETBYTES 5 /* get data; size in next LS bytes,
  23. address in next PS bytes
  24. */
  25. #define M_GETSTR 6 /* get string; max size in next LS bytes,
  26. address in next PS bytes
  27. */
  28. #define M_SETBYTES 7 /* get data; size in next LS bytes,
  29. address in next PS bytes
  30. */
  31. /* #define M_CALL 8 /* call function; not implemented */
  32. #define M_CONT (9|M_DB_RUN)
  33. /* continue */
  34. #define M_SETEMREGS 10 /* set EM registers, level in next LS bytes;
  35. Actually, only the program counter is set.
  36. */
  37. #define M_CLRSS 12 /* clear single stepping */
  38. #define M_DUMP 13 /* dump command */
  39. #define M_DGLOB 14 /* data area */
  40. #define M_DSTACK 15 /* stack area */
  41. #define M_SETTRACE 16 /* start tracing; range in next two PS bytes */
  42. #define M_CLRTRACE 17 /* end tracing */
  43. #define M_OK 50 /* answer of child to most messages */
  44. #define M_FAIL 51 /* answer of child when something goes wrong */
  45. #define M_DATA 52 /* answer of child when data requested */
  46. #define M_END_SS 53 /* stopped because of user single stepping */
  47. #define M_INTR 54 /* sent on interrupt */
  48. };
  49. #define LB_OFF (0*PS+LS+1)
  50. #define AB_OFF (1*PS+LS+1)
  51. #define PC_OFF (2*PS+LS+1)
  52. #define HP_OFF (3*PS+LS+1)
  53. #define SP_OFF (4*PS+LS+1)