dwarf_addr_finder.h revision 49d3bc91e27cd871b950d56c01398fa2f2e12ab4
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh $Source: /plroot/cmplrs.src/v7.4.2m/.RCS/PL/include/cmplrs/RCS/dwarf_addr_finder.h,v $
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh $Date: 2002/06/11 17:49:06 $
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh Defines user interface.
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh/* return codes for functions
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh/* the following are the 'section' number passed to the called-back
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh The called-back application must translate this to the
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh appropriate elf section number/pointer.
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh Putting this burden on the application avoids having to store
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh the numbers in the Dwarf_Debug structure (thereby saving space
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh for most consumers).
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh/* section is one of the above codes: it specifies a section.
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh secoff is the offset in the dwarf section.
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh existingAddr is the value at the specified offset (so the
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh called back routine can sanity check the proceedings).
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh It's up to the caller to know the size of an address (4 or 8)
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh and update the right number of bytes.
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh/* call this to do the work: it calls back thru cb_func
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh once per each address to be modified.
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh Once this returns you are done.
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh Returns DW_DLV_OK if finished ok.
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh Returns DW_DLV_ERROR if there was some kind of error, in which
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh the dwarf error number was passed back thu the dwerr ptr.
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh Returns DW_DLV_NO_ENTRY if there are no relevant dwarf sections,
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh so there were no addresses to be modified (and none
4c06356b0f0fffb4fc1b6eccc8e5d8e2254a84d6dh called back).