winIDEA SDK
ICodeCache Struct Referenceabstract

Description

This interface maintains multiple memory item.

#include <i_CodeCache.h>

Classes

struct  SReport
 report to a file More...
 

Public Types

enum  ECopyMergeFlags { cfNoData = 0x00000000 , cfData = 0x00000001 }
 Defines copy merge flags. More...
 
enum  EDifFlags {
  dfReportEqual = 1 << dtEqual , dfReportNotIn1 = 1 << dtNotIn1 ,
  dfReportNotIn2 = 1 << dtNotIn2 , dfReportDif = 1 << dtDif ,
  dfReportAllDif = dfReportNotIn1 | dfReportNotIn2 | dfReportDif , dfReportAll = dfReportAllDif | dfReportEqual
}
 Difference flags. More...
 
enum  EDifType {
  dtEqual = 0 , dtNotIn1 = 1 ,
  dtNotIn2 = 2 , dtDif = 3
}
 Difference types. More...
 
enum class  EParam
 configure an operation parameter
 
enum  EReportFlags {
  rfTypeNormal = 0x00000000 , rfTypeDif = 0x00000001 ,
  rfTypeMask = 0x00000003 , rfAppend = 0x00000004 ,
  rfAlign = 0x00000008
}
 Report flags. More...
 
enum  ESaveLoadFlags {
  lFormatAuto = 0x00000000 , lFormatMotorolaS = 0x00000001 ,
  lFormatIntelHex = 0x00000002 , lFormatBinary = 0x00000003 ,
  lFormatELF = 0x00000004 , lFormatPE = 0x00000005 ,
  lFormatMask = 0x0000000F , lAllowOverlap = 0x00000010 ,
  lSaveBytes10 = 0x00000000 , lSaveBytes20 = 0x00000020 ,
  lSaveBytes40 = 0x00000040 , lSaveBytes80 = 0x00000060 ,
  lSaveBytesMask = 0x00000060 , lOptionELF_Addr_PH_Virtual = 0x00000000 ,
  lOptionELF_Addr_PH_Physical = 0x00000100 , lOptionELF_Addr_Mask = 0x00000300 ,
  lOptionELF_IgnoreZeros = 0x00000400 , lOptionMask = 0x0000FF00
}
 Flags used to control load and save operations. More...
 
enum  ESerializeFlags {
  sfAddressSize4 = 0x02 , sfAddressSize8 = 0x03 ,
  sfAddressMask = 0x03 , sfData = 0x04 ,
  sfMAUSize = 0x08
}
 Serialization flags. More...
 

Public Member Functions

virtual uint32_t get_param (EParam eParam)=0
 Returns parameter value. More...
 
virtual void Offset (TCC_ADDRESS aOffset)=0
 offset all records More...
 
virtual uint32_t Report (uint32_t dwFlags, const char *pszFileName, const SReport &rReport)=0
 Generate report. More...
 
virtual void set_param (EParam eParam, uint32_t dwValue)=0
 Sets parameter. More...
 

Member Enumeration Documentation

◆ ECopyMergeFlags

Defines copy merge flags.

Enumerator
cfNoData 

do not copy data

cfData 

copy data

◆ EDifFlags

Difference flags.

Enumerator
dfReportEqual 

report locations with equal contents

dfReportNotIn1 

report locations that are not in first ICodeCache

dfReportNotIn2 

report locations that are not in second ICodeCache

dfReportDif 

report locations with different contents

dfReportAllDif 

report all differing locations and missing in one or other

dfReportAll 

report everything

◆ EDifType

Difference types.

Enumerator
dtEqual 

this part was in both and was equal

dtNotIn1 

this part was not in first ICodeCache

dtNotIn2 

this part was not in second ICodeCache

dtDif 

this part was in both, but content differs

◆ EReportFlags

Report flags.

Enumerator
rfTypeNormal 

report contents

rfTypeDif 

the object contains dif between m_pICC1 and m_pICC2 - report dif

rfTypeMask 

mask for report type

rfAppend 

append to file rather than overwrite

rfAlign 

align addresses to m_dwMaxMAUsPerLine

◆ ESaveLoadFlags

Flags used to control load and save operations.

Enumerator
lFormatAuto 

automatically detect file type

lFormatMotorolaS 

use MotorolaS format

lFormatIntelHex 

use Intel hex format

lFormatBinary 

use binary format

lFormatELF 

use ELF format

lFormatPE 

use Portable executable format

lAllowOverlap 

tolerate overlaps when loading

lSaveBytes10 

when saving save 0x10 bytes per line

lSaveBytes20 

when saving save 0x20 bytes per line

lSaveBytes40 

when saving save 0x40 bytes per line

lSaveBytes80 

when saving save 0x80 bytes per line

lOptionELF_Addr_PH_Virtual 

use ELF ProgramHeader virtual as load address

lOptionELF_Addr_PH_Physical 

use ELF ProgramHeader physical as load address

lOptionELF_Addr_Mask 

mask for Elf Address

lOptionELF_IgnoreZeros 

ignore headers with zero content

◆ ESerializeFlags

Serialization flags.

Enumerator
sfAddressSize4 

save 32-bit addresses

sfAddressSize8 

save 64-bit addresses

sfData 

serialize data

sfMAUSize 

serialize also MAUSize - not included per default in legacy saves

Member Function Documentation

◆ get_param()

virtual uint32_t ICodeCache::get_param ( EParam  eParam)
pure virtual

Returns parameter value.

Parameters
eParamparameter to get

◆ Offset()

virtual void ICodeCache::Offset ( TCC_ADDRESS  aOffset)
pure virtual

offset all records

Parameters
aOffsetamount to offset

◆ Report()

virtual uint32_t ICodeCache::Report ( uint32_t  dwFlags,
const char *  pszFileName,
const SReport rReport 
)
pure virtual

Generate report.

Parameters
dwFlagsflags. use EReportFlags
pszFileNamepath to the report file
rReportsave format configuration

◆ set_param()

virtual void ICodeCache::set_param ( EParam  eParam,
uint32_t  dwValue 
)
pure virtual

Sets parameter.

Parameters
eParamparameter to set
dwValuevaue of parameter