#ifdef BUILD_IMAGEHLP
LIBRARY IMAGEHLP
#else
LIBRARY DBGHELP
#endif

EXPORTS
#ifdef BUILD_IMAGEHLP
// Imagehlp only api's
    BindImage
    BindImageEx
    CheckSumMappedFile
    GetImageConfigInformation
    GetImageUnusedHeaderBytes
    ImageAddCertificate
    ImageEnumerateCertificates
    ImageGetCertificateData
    ImageGetCertificateHeader
    ImageGetDigestStream
    ImageLoad
    ImageRemoveCertificate
    ImageUnload
    MapAndLoad
    MapFileAndCheckSumA
    MapFileAndCheckSumW
#ifdef _WIN64
    ReBaseImage = ReBaseImage64
    SplitSymbols                   PRIVATE
#else
    ReBaseImage
    SplitSymbols
#endif
    ReBaseImage64
    RemoveRelocations              PRIVATE
    RemovePrivateCvSymbolic        PRIVATE
    RemovePrivateCvSymbolicEx      PRIVATE
    SetImageConfigInformation
    TouchFileTimes
    UnMapAndLoad
    UpdateDebugInfoFile
    UpdateDebugInfoFileEx
#else
// Dbghelp only api's
    WinDbgExtensionDllInit
    ExtensionApiVersion
#ifndef _DBGHLP_USER_GENERATED_SYMBOLS_NOTSUPPORTED
    SymSetSymWithAddr64            PRIVATE
#endif
    dbghelp
    SymGetFileLineOffsets64 PRIVATE
    dh
    sym
    lmi
    lm
    srcfiles
    vc7fpo
    omap
    MiniDumpWriteDump
    MiniDumpReadDumpStream
    DbgHelpCreateUserDump
    DbgHelpCreateUserDumpW
    SymLoadModuleEx
#endif

// Api's exported from both.
//
// NOTE: If you change the api's in this section, MAKE SURE you update the
//       failure tables in dload.c as appropriate.
//

    FindDebugInfoFile
    FindDebugInfoFileEx
    FindFileInPath
    FindFileInSearchPath
    FindExecutableImage
    FindExecutableImageEx
    GetTimestampForLoadedLibrary
    ImageDirectoryEntryToData
    ImageDirectoryEntryToDataEx
    ImageNtHeader
    ImageRvaToSection
    ImageRvaToVa
    ImagehlpApiVersion
    ImagehlpApiVersionEx
    MakeSureDirectoryPathExists
    SearchTreeForFile
    SymCleanup
    SymFindFileInPath
    SymGetOptions
    SymGetSearchPath
    SymInitialize
    SymMatchFileName
    SymEnumSourceFiles
    SymSetContext
    SymSetOptions
    SymSetSearchPath
    UnDecorateSymbolName
    EnumerateLoadedModules64
    StackWalk64
    SymEnumerateModules64
    SymEnumerateSymbols64
    SymEnumerateSymbolsW64
    SymEnumSym
    SymEnumSymbols
    SymEnumTypes
    SymFromAddr
    SymFromName
    SymFunctionTableAccess64
    SymGetLineFromAddr64
    SymGetLineFromName64
    SymGetLineNext64
    SymGetLinePrev64
    SymGetModuleBase64
    SymGetModuleInfo64
    SymGetModuleInfoW64
    SymGetSymFromAddr64
    SymGetSymFromName64
    SymGetSymNext64
    SymGetSymPrev64
    SymGetTypeFromName
    SymGetTypeInfo
    SymLoadModule64
    SymRegisterCallback64
    SymRegisterFunctionEntryCallback64
    SymUnDName64
    SymUnloadModule64
    SymMatchString

#ifdef _WIN64
    EnumerateLoadedModules=EnumerateLoadedModules64
    StackWalk=StackWalk64
    SymEnumerateModules=SymEnumerateModules64
    SymEnumerateSymbols=SymEnumerateSymbols64
    SymEnumerateSymbolsW=SymEnumerateSymbolsW64
    SymFunctionTableAccess=SymFunctionTableAccess64
    SymGetLineFromAddr=SymGetLineFromAddr64
    SymGetLineFromName=SymGetLineFromName64
    SymGetLineNext=SymGetLineNext64
    SymGetLinePrev=SymGetLinePrev64
    SymGetModuleBase=SymGetModuleBase64
    SymGetModuleInfo=SymGetModuleInfo64
    SymGetModuleInfoW=SymGetModuleInfoW64
    SymGetSymFromAddr=SymGetSymFromAddr64
    SymGetSymFromName=SymGetSymFromName64
    SymGetSymNext=SymGetSymNext64
    SymGetSymPrev=SymGetSymPrev64
    SymLoadModule=SymLoadModule64
    SymRegisterCallback=SymRegisterCallback64
    SymRegisterFunctionEntryCallback=SymRegisterFunctionEntryCallback64
    SymUnDName=SymUnDName64
    SymUnloadModule=SymUnloadModule64
#else
    EnumerateLoadedModules
    MapDebugInformation
    StackWalk
    SymEnumerateModules
    SymEnumerateSymbols
    SymEnumerateSymbolsW
    SymFunctionTableAccess
    SymGetLineFromAddr
    SymGetLineFromName
    SymGetLineNext
    SymGetLinePrev
    SymGetModuleBase
    SymGetModuleInfo
    SymGetModuleInfoW
    SymGetSymFromAddr
    SymGetSymFromName
    SymGetSymNext
    SymGetSymPrev
    SymLoadModule
    SymRegisterCallback
    SymRegisterFunctionEntryCallback
    SymUnDName
    SymUnloadModule
    UnmapDebugInformation
#endif
