The Gaudi Framework
master (9f3f8895)
Toggle main menu visibility
Loading...
Searching...
No Matches
LibSymbolInfo.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
#pragma once
12
13
// LibSymbolInfo.h: interface for the CLibSymbolInfo class.
14
//
16
17
#if !defined( AFX_LIBSYMBOLINFO_H__1A7003B4_BA53_11D1_AE46_1CFB51000000__INCLUDED_ )
18
# define AFX_LIBSYMBOLINFO_H__1A7003B4_BA53_11D1_AE46_1CFB51000000__INCLUDED_
19
20
# include <iostream>
21
# include <string>
22
23
# include <assert.h>
24
# include <stdio.h>
25
# include <windows.h>
26
27
class
CLibSymbolInfo
{
28
public
:
29
CLibSymbolInfo
();
30
virtual
~CLibSymbolInfo
();
31
BOOL
DumpSymbols
( LPTSTR lpszLibPathName, std::ostream& pFile );
32
std::string
GetLastError
()
const
;
33
34
protected
:
35
std::string
m_strResultsString
;
36
std::string
m_strErrorMsg
;
37
38
BOOL
Dump
( LPTSTR lpszLibPathName, std::ostream& pFile );
39
BOOL
IsRegularLibSymbol
( PSTR pszSymbolName );
40
BOOL
IsFiltedSymbol
( std::string& pszSymbolName );
41
DWORD
ConvertBigEndian
( DWORD bigEndian );
42
};
43
44
enum
errMMF
{
errMMF_NoError
,
errMMF_FileOpen
,
errMMF_FileMapping
,
errMMF_MapView
};
45
46
class
MEMORY_MAPPED_FILE
{
47
public
:
48
MEMORY_MAPPED_FILE
( PSTR pszFileName );
49
~MEMORY_MAPPED_FILE
(
void
);
50
51
PVOID
GetBase
(
void
) {
return
m_pMemoryMappedFileBase
; }
52
DWORD
GetFileSize
(
void
) {
return
m_cbFile
; }
53
BOOL
IsValid
(
void
) {
return
errMMF_NoError
==
m_errCode
; }
54
errMMF
GetErrorType
() {
return
m_errCode
; }
55
56
private
:
57
HANDLE
m_hFile
;
58
HANDLE
m_hFileMapping
;
// Handle of memory mapped file
59
PVOID
m_pMemoryMappedFileBase
;
60
DWORD
m_cbFile
;
61
errMMF
m_errCode
;
62
};
63
64
typedef
MEMORY_MAPPED_FILE
*
PMEMORY_MAPPED_FILE
;
65
66
#endif
// !defined(AFX_LIBSYMBOLINFO_H__1A7003B4_BA53_11D1_AE46_1CFB51000000__INCLUDED_)
PMEMORY_MAPPED_FILE
MEMORY_MAPPED_FILE * PMEMORY_MAPPED_FILE
Definition
LibSymbolInfo.h:64
errMMF
errMMF
Definition
LibSymbolInfo.h:44
errMMF_NoError
@ errMMF_NoError
Definition
LibSymbolInfo.h:44
errMMF_FileOpen
@ errMMF_FileOpen
Definition
LibSymbolInfo.h:44
errMMF_FileMapping
@ errMMF_FileMapping
Definition
LibSymbolInfo.h:44
errMMF_MapView
@ errMMF_MapView
Definition
LibSymbolInfo.h:44
CLibSymbolInfo::m_strErrorMsg
std::string m_strErrorMsg
Definition
LibSymbolInfo.h:36
CLibSymbolInfo::GetLastError
std::string GetLastError() const
Definition
LibSymbolInfo.cpp:179
CLibSymbolInfo::~CLibSymbolInfo
virtual ~CLibSymbolInfo()
Definition
LibSymbolInfo.cpp:33
CLibSymbolInfo::IsRegularLibSymbol
BOOL IsRegularLibSymbol(PSTR pszSymbolName)
Definition
LibSymbolInfo.cpp:140
CLibSymbolInfo::m_strResultsString
std::string m_strResultsString
Definition
LibSymbolInfo.h:35
CLibSymbolInfo::CLibSymbolInfo
CLibSymbolInfo()
Definition
LibSymbolInfo.cpp:31
CLibSymbolInfo::IsFiltedSymbol
BOOL IsFiltedSymbol(std::string &pszSymbolName)
Definition
LibSymbolInfo.cpp:152
CLibSymbolInfo::Dump
BOOL Dump(LPTSTR lpszLibPathName, std::ostream &pFile)
Definition
LibSymbolInfo.cpp:70
CLibSymbolInfo::ConvertBigEndian
DWORD ConvertBigEndian(DWORD bigEndian)
Definition
LibSymbolInfo.cpp:168
CLibSymbolInfo::DumpSymbols
BOOL DumpSymbols(LPTSTR lpszLibPathName, std::ostream &pFile)
Definition
LibSymbolInfo.cpp:47
MEMORY_MAPPED_FILE
Definition
LibSymbolInfo.h:46
MEMORY_MAPPED_FILE::m_cbFile
DWORD m_cbFile
Definition
LibSymbolInfo.h:60
MEMORY_MAPPED_FILE::m_pMemoryMappedFileBase
PVOID m_pMemoryMappedFileBase
Definition
LibSymbolInfo.h:59
MEMORY_MAPPED_FILE::~MEMORY_MAPPED_FILE
~MEMORY_MAPPED_FILE(void)
Definition
LibSymbolInfo.cpp:223
MEMORY_MAPPED_FILE::GetBase
PVOID GetBase(void)
Definition
LibSymbolInfo.h:51
MEMORY_MAPPED_FILE::MEMORY_MAPPED_FILE
MEMORY_MAPPED_FILE(PSTR pszFileName)
Definition
LibSymbolInfo.cpp:181
MEMORY_MAPPED_FILE::m_hFile
HANDLE m_hFile
Definition
LibSymbolInfo.h:57
MEMORY_MAPPED_FILE::GetFileSize
DWORD GetFileSize(void)
Definition
LibSymbolInfo.h:52
MEMORY_MAPPED_FILE::m_errCode
errMMF m_errCode
Definition
LibSymbolInfo.h:61
MEMORY_MAPPED_FILE::m_hFileMapping
HANDLE m_hFileMapping
Definition
LibSymbolInfo.h:58
MEMORY_MAPPED_FILE::GetErrorType
errMMF GetErrorType()
Definition
LibSymbolInfo.h:54
MEMORY_MAPPED_FILE::IsValid
BOOL IsValid(void)
Definition
LibSymbolInfo.h:53
GaudiKernel
src
Util
LibSymbolInfo.h
Generated on
for The Gaudi Framework by
1.17.0