/* Copyright (c) 1993 Xerox Corporation. All rights reserved. */ /* $Id$ $Date$ * * PCR Remote Debugger public types. */ #ifndef __PCR_RDbgTypes_h # define __PCR_RDbgTypes_h 1 #include #include #include #include #include ??? typedef char * PCR_RDbg_CopiedString; /* * Pointer to string copied from debuggee to debugger. * Sent/received as a block8 including trailing null. */ #define PCR_RDbg_RAddr(type) void * /* * Address of a "type" object on debuggee. */ /* * Thread descriptors */ typedef struct PCR_DbgNub_ThRAddrsRep { unsigned dnti_cnt; PCR_DbgNub_RAddr(PCR_Th_T) dnti_dntd[ /* cnt */ 1 ]; } PCR_DbgNub_ThIDs; typedef struct PCR_DbgNub_ThDataRep { PCR_DbgNub_RAddr(PCR_Th_T) void * dntd_thRAddr; PCR_ThCtl_ThInfo dntd_thInfo; void * dntd_dbMsg; void * dntd_dbData; } PCR_DbgNub_ThData; /* * Program Counter Data */ typedef struct PCR_DbgNub_PCDataRep { PCR_DbgNub_CopiedString dnpcd_procName; PCR_RDbg_RAddr(struct PCR_ILSym_EntryRep) dnpcd_procSymRAddr; char * dnpcd_fileName; PCR_RDbg_RAddr(struct PCR_IL_LoadedFileRep) dnpcd_fileInfoRAddr; } PCR_DbgNub_PCData; /* * File and Segment description */ typedef struct PCR_DbgNub_SegDataRep { PCR_DbgNub_RAddr(struct PCR_IL_LoadedSegmentRep) dnsd_lsa; struct PCR_IL_LoadedSegmentRep dnsd_ls; } PCR_DbgNub_SegData; typedef struct PCR_DbgNub_FileDataRep { PCR_DbgNub_RAddr(struct PCR_IL_LoadedFileRep) dnfd_lfa; struct PCR_IL_LoadedFileRep dnfd_lf; PCR_DbgNub_CopiedString dnfd_name; unsigned dnfd_nSegs; PCR_DbgNub_SegData dnfd_segs[ /* nsegs */ 1 ]; } PCR_DbgNub_FileData; /* * Symbol table entry */ typedef struct PCR_DbgNub_SymDataRep { PCR_DbgNub_RAddr(PCR_ILSym_Entry) dnsd_sea; struct PCR_ILSym_EntryRep dnsd_se; PCR_DbgNub_CopiedString dnsd_name; } PCR_DbgNub_SymData; /* * Instruction Set + Operating System names */ typedef struct PCR_DbgNub_DebuggeeDescriptionRep { PCR_DbgNub_CopiedChars * dndd_instrSet; PCR_DbgNub_CopiedChars * dndd_opSys; } PCR_DbnNub_DebuggeeDescription; #endif /* __PCR_DbgNubTypes_h */