Changeset 3238 for trunk/tools
- Timestamp:
- Mar 26, 2000, 12:50:11 AM (26 years ago)
- Location:
- trunk/tools/dbginfo
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/dbginfo/kHll.cpp
r3236 r3238 1 /* $Id: kHll.cpp,v 1. 1 2000-03-25 21:09:59bird Exp $1 /* $Id: kHll.cpp,v 1.2 2000-03-25 23:50:11 bird Exp $ 2 2 * 3 3 * kHll - Implementation of the class kHll. … … 32 32 #include <string.h> 33 33 #include <stddef.h> 34 #include <assert.h> 34 35 35 36 #include "hll.h" 37 #include "kList.h" 36 38 #include "kHll.h" 37 39 38 40 39 41 42 kHLLPubSym::kHLLPubSym( 43 const char * pszName, 44 unsigned long off, 45 unsigned short iObj, 46 unsigned short iType 47 ); 40 48 49 50 kHLLPubSym::~kHLLPubSym(); 51 52 53 int kHLLPubSym::write(FILE *phFile) 54 { 55 56 } 57 58 59 60 61 62 63 64 65 66 67 68 69 /** 70 * Constructor - Creates an empty HLL object. 71 */ 72 kHll::kHll() 73 { 74 } 75 76 77 /** 78 * Destructor. 79 */ 80 kHll::~kHll() 81 { 82 } 83 84 85 /** 86 * Adds an LX object to the HLL info. 87 * @returns Object handle. NULL on error. 88 * @param pszName Object name. 89 * @param cb Size of object. 90 */ 91 const void * kHll::addObject( 92 const char * pszName, 93 unsigned long int cb 94 ) 95 { 96 pszName = pszName; 97 cb = cb; 98 return NULL; 99 } 100 101 102 /** 103 * Adds a module. 104 * @returns Object handle. NULL on error. 105 * @param pszName Module name 106 * @param pvLib Library module handle. 107 * @param cObjects Number of objects in the array. 108 * @param paObjects Pointer to an array of objects. 109 */ 110 const void * kHll::addModule( 111 const char * pszName, 112 const void * pvLib, 113 unsigned cObject, 114 PMODOBJECT paObjects) 115 { 116 return NULL; 117 } 118 119 120 121 /** 122 * Adds a public symbol. 123 * @returns Handle to the symbol. NULL on error. 124 * @param pszName Symbol name. 125 * @param off Offset into the LX Object of the symbol. 126 * @param iObject LX Object index. 127 * @param pvType Type handle. NULL if not type. 128 */ 129 const void * kHll::addPublicSymbol( 130 const char * pszName, 131 unsigned long int off, 132 unsigned short int iObject, 133 const void * pvType 134 ) 135 { 136 PHLLPUBLICSYM pPubSym; 137 138 assert(pszName != NULL); 139 pPubSym = (PHLLPUBLICSYM)malloc(sizeof(HLLPUBLICSYM) + strlen(pszName)); 140 if (pPubSym != NULL) 141 { 142 strcpy(pPubSym->hll.achName, pszName); 143 pPubSym->hll.cchName = strlen(pszName); 144 pPubSym->hll.iObj = iObject; 145 pPubSym->hll.off = off; 146 pPubSym->hll.iType = pvType == NULL ? 0 : -1; //FIXME/TODO: Types->getIndex(pvType); check if 0 or -1. 147 PublicSymbols.insert(pPubSym); 148 free(pPubSym); 149 } 150 151 return NULL; 152 } 153 154 155 156 BOOL kHll::write( 157 const char *pszFilename 158 ) 159 { 160 return FALSE; 161 } 162 163 -
trunk/tools/dbginfo/kHll.h
r3236 r3238 1 /* $Id: kHll.h,v 1. 1 2000-03-25 21:10:00bird Exp $1 /* $Id: kHll.h,v 1.2 2000-03-25 23:50:11 bird Exp $ 2 2 * 3 3 * kHll - Declarations of the class kHll. … … 15 15 16 16 17 /******************************************************************************* 18 * Structures and Typedefs * 19 *******************************************************************************/ 20 /** 21 * Module object(=segment) description. 22 */ 23 typedef struct 24 { 25 unsigned short iObject; /* LX Object index. */ 26 unsigned long cb; /* Size of object part. */ 27 unsigned long offset; /* Offset into the LX Object. */ 28 } MODOBJECT, *PMODOBJECT; 29 17 30 18 31 class kHll 32 33 /** 34 * HLL Public symbol entry. 35 * @author knut st. osmundsen (knut.stange.osmundsen@pmsc.no) 36 */ 37 class kHllPubSymEntry : public kListEntry 19 38 { 20 39 private: 40 PHLLPUBLICSYM pPubSym; 41 42 public: 43 kHLLPubSym( 44 const char * pszName, 45 unsigned long off, 46 unsigned short iObj, 47 unsigned short iType 48 ); 49 ~kHLLPubSym(); 50 51 int write(FILE *phFile); 52 }; 53 54 55 56 /** 57 * HLL Debug Info generator. 58 * @author knut st. osmundsen (knut.stange.osmundsen@pmsc.no) 59 */ 60 class kHll 61 { 62 63 private: 64 /** @cat 65 * Internal data. 66 */ 67 kList<kHllModuleEntry> Modules; 68 kList<kHllPubSymEntry> PublicSymbols; 69 70 21 71 public: 22 72 /** @cat … … 35 85 const void * addModule( 36 86 const char * pszName, 37 const void * 38 39 ...); 87 const void * pvLib, 88 unsigned cObject, 89 PMODOBJECT paObjects 90 ); 40 91 const void * addPublicSymbol( 41 92 const char * pszName, … … 43 94 unsigned short int iObject, 44 95 const void * pvType 45 96 ); 46 97 /* 47 98 const void * addPublicSymbol( … … 52 103 ); 53 104 */ 54 } 105 106 107 /** @cat 108 * Output. 109 */ 110 BOOL write( 111 const char *pszFilename 112 ); 113 114 }; 55 115 56 116
Note:
See TracChangeset
for help on using the changeset viewer.