Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
  2. #ifndef __dj_include_debug_syms_h_
  3. #define __dj_include_debug_syms_h_
  4.  
  5. #ifdef __cplusplus
  6. extern "C" {
  7. #endif
  8.  
  9. #ifndef __dj_ENFORCE_ANSI_FREESTANDING
  10.  
  11. #ifndef __STRICT_ANSI__
  12.  
  13. #ifndef _POSIX_SOURCE
  14.  
  15. /* This is file SYMS.H */
  16. /*
  17. ** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
  18. **
  19. ** This file is distributed under the terms listed in the document
  20. ** "copying.dj", available from DJ Delorie at the address above.
  21. ** A copy of "copying.dj" should accompany this file; if not, a copy
  22. ** should be available from where this file was obtained.  This file
  23. ** may not be distributed without a verbatim copy of "copying.dj".
  24. **
  25. ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
  26. ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  27. */
  28.  
  29. #ifndef _SYMS_H_
  30. #define _SYMS_H_
  31.  
  32. void syms_init(char *fname);
  33. void syms_list(int byval);
  34. unsigned long syms_name2val(const char *name);
  35. char *syms_val2name(unsigned long val, unsigned long *delta);
  36. char *syms_val2line(unsigned long val, int *lineret, int exact);
  37. char *syms_module(int no);
  38. unsigned long syms_line2val(char *filename, int lnum);
  39. void syms_listwild(char *pattern,
  40.   void (*handler)(unsigned long addr, char type_c, char *name, char *name2, int lnum));
  41.  
  42. extern int undefined_symbol;
  43. extern int syms_printwhy;
  44.  
  45. #define N_INDR  0x0a
  46. #define N_SETA  0x14            /* Absolute set element symbol */
  47. #define N_SETT  0x16            /* Text set element symbol */
  48. #define N_SETD  0x18            /* Data set element symbol */
  49. #define N_SETB  0x1A            /* Bss set element symbol */
  50. #define N_SETV  0x1C            /* Pointer to set vector in data area.  */
  51.  
  52. #endif
  53.  
  54. #endif /* !_POSIX_SOURCE */
  55. #endif /* !__STRICT_ANSI__ */
  56. #endif /* !__dj_ENFORCE_ANSI_FREESTANDING */
  57.  
  58. #ifndef __dj_ENFORCE_FUNCTION_CALLS
  59. #endif /* !__dj_ENFORCE_FUNCTION_CALLS */
  60.  
  61. #ifdef __cplusplus
  62. }
  63. #endif
  64.  
  65. #endif /* !__dj_include_debug_syms_h_ */
  66.