1
2/*--------------------------------------------------------------------*/
3/*--- Reading of syms & debug info from PDB-format files.          ---*/
4/*---                                               priv_readpdb.h ---*/
5/*--------------------------------------------------------------------*/
6
7/*
8   This file is part of Valgrind, a dynamic binary instrumentation
9   framework.
10   Spring 2008:
11      derived from readelf.c and valgrind-20031012-wine/vg_symtab2.c
12      derived from wine-1.0/tools/winedump/pdb.c and msc.c
13
14   Copyright (C) 2000-2011 Julian Seward
15      jseward@acm.org
16
17   This program is free software; you can redistribute it and/or
18   modify it under the terms of the GNU General Public License as
19   published by the Free Software Foundation; either version 2 of the
20   License, or (at your option) any later version.
21
22   This program is distributed in the hope that it will be useful, but
23   WITHOUT ANY WARRANTY; without even the implied warranty of
24   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
25   General Public License for more details.
26
27   You should have received a copy of the GNU General Public License
28   along with this program; if not, write to the Free Software
29   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
30   02111-1307, USA.
31
32   The GNU General Public License is contained in the file COPYING.
33*/
34
35#if defined(VGO_linux) || defined(VGO_darwin)
36
37#ifndef __PRIV_READPDB_H
38#define __PRIV_READPDB_H
39
40/* Returns True if OK, False for any kind of failure. */
41extern Bool ML_(read_pdb_debug_info)(
42               DebugInfo* di,
43               Addr       obj_avma,
44               PtrdiffT   unknown_purpose__reloc,
45               void*      pdbimage,
46               SizeT      n_pdbimage,
47               Char*      pdbname,
48               ULong      pdbmtime
49            );
50
51/* Finds the name of the PDB file that's embedded with the specified
52   PE file, or NULL on failure.  Caller deallocates with
53   ML_(dinfo_free). */
54HChar* ML_(find_name_of_pdb_file)( HChar* pename );
55
56
57#endif /* ndef __PRIV_READPDB_H */
58
59#endif // defined(VGO_linux) || defined(VGO_darwin)
60
61/*--------------------------------------------------------------------*/
62/*--- end                                                          ---*/
63/*--------------------------------------------------------------------*/
64