home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / src / swtools / libdwarf / pro_init.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-02  |  1.4 KB  |  48 lines

  1. /*
  2.     pro_init.c
  3.     $Revision: 1.7 $    $Date: 1993/09/30 17:04:23 $    
  4.     $Source: /cmplrs.src/v4.00/libdwarf/RCS/pro_init.c,v $
  5.  
  6.     Has producer initialization routines.
  7. */
  8.  
  9. #include <stdio.h>
  10. #include <bstring.h>
  11. #include "pro_incl.h"
  12.  
  13. /*--------------------------------------------------------------------
  14.     This function sets up a new dwarf producing region. 
  15.     flags: Indicates type of access method, one of DW_DLC* macros
  16.     func(): Used to create a new object file, a call back function
  17.     errhand(): Error Handler provided by user
  18.     errarg: Argument to errhand()
  19.     error: returned error value
  20. --------------------------------------------------------------------*/
  21. Dwarf_P_Debug
  22. dwarf_producer_init(
  23.             Dwarf_Unsigned flags,
  24.             Dwarf_Callback_Func func,
  25.             Dwarf_Handler errhand,
  26.             Dwarf_Ptr errarg,
  27.             Dwarf_Error * error)
  28. {
  29.  
  30.     Dwarf_P_Debug     dbg;
  31.  
  32.     dbg = (Dwarf_P_Debug) _dwarf_p_get_alloc(NULL, sizeof(struct Dwarf_P_Debug_s));
  33.     if (dbg == NULL) {
  34.         DWARF_P_DBG_ERROR(dbg,DW_DLE_DBG_ALLOC,(Dwarf_P_Debug) DW_DLV_BADADDR);
  35.     }
  36.     bzero((void *) dbg, sizeof(struct Dwarf_P_Debug_s));
  37.     /* For the time being */
  38.     if (func == NULL) {
  39.         DWARF_P_DBG_ERROR(dbg,DW_DLE_NO_CALLBACK_FUNC,(Dwarf_P_Debug) DW_DLV_BADADDR);
  40.     }
  41.     dbg->de_n_debug_sect = 0;
  42.     dbg->de_func = func;
  43.     dbg->de_flags = flags;
  44.     dbg->de_errhand = errhand;
  45.     dbg->de_errarg = errarg;
  46.     return dbg;
  47. }
  48.