ftk.h   ftk.h 
skipping to change at line 295 skipping to change at line 295
#if defined( FLM_WIN) #if defined( FLM_WIN)
#if defined( FLM_64BIT) #if defined( FLM_64BIT)
typedef unsigned __int64 FLMUINT; typedef unsigned __int64 FLMUINT;
typedef __int64 FLMINT; typedef __int64 FLMINT;
typedef unsigned __int64 FLMSIZET; typedef unsigned __int64 FLMSIZET;
typedef unsigned int FLMUINT32; typedef unsigned int FLMUINT32;
#elif _MSC_VER >= 1300 #elif _MSC_VER >= 1300
typedef unsigned long __w64 FLMU INT; typedef unsigned long __w64 FLMU INT;
typedef long __w64 FLMINT; typedef long __w64 FLMINT;
typedef __w64 unsigned int FLMUINT32; typedef __w64 unsigned int FLMUINT32;
typedef __w64 unsigned int FLMSIZET; typedef __w64 unsigned int FLMSIZET;
#else #else
typedef unsigned long FLMUINT; typedef unsigned long FLMUINT;
typedef long FLMINT; typedef long FLMINT;
typedef unsigned int FLMUINT32; typedef unsigned int FLMUINT32;
typedef unsigned int FLMSIZET; typedef unsigned int FLMSIZET;
#endif #endif
#elif defined( FLM_NLM) #elif defined( FLM_NLM)
typedef unsigned long int FLMUINT; typedef unsigned long int FLMUINT;
skipping to change at line 1062 skipping to change at line 1062
virtual FLMINT FLMAPI Release( void); virtual FLMINT FLMAPI Release( void);
/// Return the current reference count on the object. /// Return the current reference count on the object.
virtual FLMINT FLMAPI getRefCount( void); virtual FLMINT FLMAPI getRefCount( void);
/// Overloaded new operator for objects of this class. /// Overloaded new operator for objects of this class.
void * FLMAPI operator new( void * FLMAPI operator new(
FLMSIZET uiSize, ///< Number of bytes to allocate - should be sizeof( ThisClass) . FLMSIZET uiSize, ///< Number of bytes to allocate - should be sizeof( ThisClass) .
const char * pszFile, ///< Name of source file where this allocation is made. const char * pszFile, ///< Name of source file where this allocation is made.
int iLine) ///< Line number in source file where this allocation request i s made. int iLine) ///< Line number in source file where this allocation request i s made.
#ifndef FLM_WATCOM_NLM #ifndef FLM_WATCOM_NLM
throw() throw()
#endif #endif
; ;
/// Overloaded new operator for objects of this class. /// Overloaded new operator for objects of this class.
void * FLMAPI operator new( void * FLMAPI operator new(
FLMSIZET uiSize) ///< Number of bytes to allocate - should be sizeof( ThisClass) . FLMSIZET uiSize) ///< Number of bytes to allocate - should be sizeof( ThisClass) .
#ifndef FLM_WATCOM_NLM #ifndef FLM_WATCOM_NLM
throw() throw()
#endif #endif
; ;
/// Overloaded new operator (array) for objects of this clas s (with source file and line number). /// Overloaded new operator (array) for objects of this clas s (with source file and line number).
/// This new operator is called when an array of objects of this class are allocated. /// This new operator is called when an array of objects of this class are allocated.
/// This new operator passes in the current file and line nu mber. This information is /// This new operator passes in the current file and line nu mber. This information is
/// useful in tracking memory allocations to determine where memory leaks are coming from. /// useful in tracking memory allocations to determine where memory leaks are coming from.
void * FLMAPI operator new[]( void * FLMAPI operator new[](
FLMSIZET uiSize, ///< Number of bytes to allocate - should be sizeof( ThisClass) . FLMSIZET uiSize, ///< Number of bytes to allocate - should be sizeof( ThisClass) .
const char * pszFile, ///< Name of source file where this allocation is made. const char * pszFile, ///< Name of source file where this allocation is made.
int iLine) ///< Line number in source file where this allocation request i s made. int iLine) ///< Line number in source file where this allocation request i s made.
#ifndef FLM_WATCOM_NLM #ifndef FLM_WATCOM_NLM
throw() throw()
#endif #endif
; ;
/// Overloaded new operator (array) for objects of this clas s. /// Overloaded new operator (array) for objects of this clas s.
/// This new operator is called when an array of objects of this class are allocated. /// This new operator is called when an array of objects of this class are allocated.
void * FLMAPI operator new[]( void * FLMAPI operator new[](
FLMSIZET uiSize) ///< Number of bytes to allocate - should be sizeof( ThisClass) . FLMSIZET uiSize) ///< Number of bytes to allocate - should be sizeof( ThisClass) .
#ifndef FLM_WATCOM_NLM #ifndef FLM_WATCOM_NLM
throw() throw()
#endif #endif
; ;
/// Overloaded delete operator for objects of this class. /// Overloaded delete operator for objects of this class.
void FLMAPI operator delete( void FLMAPI operator delete(
void * ptr); ///< Pointer to object being freed. void * ptr); ///< Pointer to object being freed.
/// Overloaded delete operator (array) for objects of this c lass. /// Overloaded delete operator (array) for objects of this c lass.
void FLMAPI operator delete[]( void FLMAPI operator delete[](
void * ptr); ///< Pointer to array of objects being freed. void * ptr); ///< Pointer to array of objects being freed.
skipping to change at line 1151 skipping to change at line 1151
} }
virtual ~F_OSBase() virtual ~F_OSBase()
{ {
} }
void * operator new( void * operator new(
FLMSIZET uiSize, FLMSIZET uiSize,
const char * pszFile, const char * pszFile,
int iLine) int iLine)
#ifndef FLM_WATCOM_NLM #ifndef FLM_WATCOM_NLM
throw() throw()
#endif #endif
; ;
void * operator new[]( void * operator new[](
FLMSIZET uiSize, FLMSIZET uiSize,
const char * pszFile, const char * pszFile,
int iLine) int iLine)
#ifndef FLM_WATCOM_NLM #ifndef FLM_WATCOM_NLM
throw() throw()
#endif #endif
; ;
void operator delete( void operator delete(
void * ptr); void * ptr);
void operator delete[]( void operator delete[](
void * ptr); void * ptr);
#ifndef FLM_WATCOM_NLM #ifndef FLM_WATCOM_NLM
void operator delete( void operator delete(
skipping to change at line 1547 skipping to change at line 1547
Desc: Desc:
******************************************************************** ********/ ******************************************************************** ********/
flminterface FLMEXP IF_IOStream : public IF_IStream, public IF_OStre am flminterface FLMEXP IF_IOStream : public IF_IStream, public IF_OStre am
{ {
#if defined( FLM_WIN) && _MSC_VER < 1300 #if defined( FLM_WIN) && _MSC_VER < 1300
using IF_IStream::operator delete; using IF_IStream::operator delete;
#endif #endif
}; };
/******************************************************************* ********* /******************************************************************* *********
******************************************************************** ********/
/// Message severity. /// Message severity.
******************************************************************** ********/
typedef enum typedef enum
{ {
F_FATAL_MESSAGE = 0, ///< Indicates that a fatal error occurred - the kind that would normally F_FATAL_MESSAGE = 0, ///< Indicates that a fatal error occurred - the kind that would normally
///< require a shutdown or other corrective action by an admini strator. ///< require a shutdown or other corrective action by an admini strator.
F_WARN_MESSAGE, ///< Warning message . F_WARN_MESSAGE, ///< Warning message .
F_ERR_MESSAGE, ///< Non-fat al error message. F_ERR_MESSAGE, ///< Non-fat al error message.
F_INFO_MESSAGE, ///< Information-onl y message. F_INFO_MESSAGE, ///< Information-onl y message.
F_DEBUG_MESSAGE ///< Debug message. F_DEBUG_MESSAGE ///< Debug message.
} eLogMessageSeverity; } eLogMessageSeverity;
skipping to change at line 2834 skipping to change at line 2834
FLMUINT16 ui16WpChar, FLMUINT16 ui16WpChar,
FLMUINT16 * pui16DakutenOrHandak uten); FLMUINT16 * pui16DakutenOrHandak uten);
FLMUINT FLMAPI f_wpToMixed( FLMUINT FLMAPI f_wpToMixed(
FLMBYTE * pucWPStr, FLMBYTE * pucWPStr,
FLMUINT uiWPStrLen, FLMUINT uiWPStrLen,
const FLMBYTE * pucLowUpBitStr, const FLMBYTE * pucLowUpBitStr,
FLMUINT uiLang); FLMUINT uiLang);
RCODE FLMAPI f_asiaParseSubCol( RCODE FLMAPI f_asiaParseSubCol(
FLMBYTE * pucWPStr, FLMBYTE * pucWPStr,
FLMUINT * puiWPStrLen, FLMUINT * puiWPStrLen,
FLMUINT uiMaxWPBytes, FLMUINT uiMaxWPBytes
const FLMBYTE * pucSubColBuf, ,
FLMUINT * puiSubColBitPos); const FLMBYTE * pucSubColBuf,
FLMUINT * puiSubColBit
Pos);
RCODE FLMAPI f_asiaColStr2WPStr( RCODE FLMAPI f_asiaColStr2WPStr(
const FLMBYTE * pucColStr, const FLMBYTE * pucColStr,
FLMUINT uiColStrLen, FLMUINT uiColStrLen,
FLMBYTE * pucWPStr, FLMBYTE * pucWPStr,
FLMUINT * puiWPStrLen, FLMUINT * puiWPStrLen,
FLMUINT * puiUnconvCha rs, FLMUINT * puiUnconvCha rs,
FLMBOOL * pbDataTrunca ted, FLMBOOL * pbDataTrunca ted,
FLMBOOL * pbFirstSubst ring); FLMBOOL * pbFirstSubst ring);
skipping to change at line 3935 skipping to change at line 3935
F_Printf() F_Printf()
{ {
} }
virtual ~F_Printf() virtual ~F_Printf()
{ {
} }
FLMINT FLMAPI strvPrintf( FLMINT FLMAPI strvPrintf(
char * pszDestStr, char * pszDestStr,
const char * pszFormat, const char * pszFormat,
f_va_list * args); f_va_list * args);
FLMINT FLMAPI strPrintf( FLMINT FLMAPI strPrintf(
char * pszDestStr, char * pszDestStr,
const char * pszFormat, const char * pszFormat,
...); ...);
FLMINT FLMAPI logvPrintf( FLMINT FLMAPI logvPrintf(
IF_LogMessageClient * pLogMsg, IF_LogMessageClient * pLogMsg,
const char * pszFormat, const char * pszFormat,
f_va_list * args ); f_va_list * args );
FLMINT FLMAPI logPrintf( FLMINT FLMAPI logPrintf(
IF_LogMessageClient * pLogMsg, IF_LogMessageClient * pLogMsg,
const char * pszFormat, const char * pszFormat,
...); ...);
private: private:
void processFieldInfo( void processFieldInfo(
const char ** ppszFormat, const char ** ppszFormat,
FLMUINT * puiWidth, FLMUINT * puiWidth,
FLMUINT * puiPrecision, FLMUINT * puiPrecision,
FLMUINT * puiFlags, FLMUINT * puiFlags,
f_va_list * args); f_va_list * args);
void stringFormatter( void stringFormatter(
char cFormatChar, char cFormatChar,
FLMUINT uiWidth, FLMUINT uiWidth,
FLMUINT uiPrecision, FLMUINT uiPrecision,
FLMUINT uiFlags, FLMUINT uiFlags,
f_va_list * args); f_va_list * args);
void colorFormatter( void colorFormatter(
char cFormatChar, char cFormatChar,
eColorType eColor, eColorType eColor,
FLMUINT uiFlags); FLMUINT uiFlags);
void charFormatter( void charFormatter(
char cFormatChar, char cFormatChar,
f_va_list * args); f_va_list * args);
void errorFormatter( void errorFormatter(
f_va_list * args); f_va_list * args);
void notHandledFormatter( void); void notHandledFormatter( void);
void numberFormatter( void numberFormatter(
char cFormatChar, char cFormatChar,
FLMUINT uiWidth, FLMUINT uiWidth,
FLMUINT uiPrecision, FLMUINT uiPrecision,
FLMUINT uiFlags, FLMUINT uiFlags,
f_va_list * args); f_va_list * args);
void parseArgs( void parseArgs(
const char * pszFormat, const char * pszFormat,
f_va_list * args); f_va_list * args);
void processFormatString( void processFormatString(
FLMUINT uiLen, FLMUINT uiLen,
...); ...);
FLMUINT printNumber( FLMUINT printNumber(
FLMUINT64 ui64Val, FLMUINT64 ui64Val,
FLMUINT uiBase, FLMUINT uiBase,
FLMBOOL bUpperCase, FLMBOOL bUpperCase,
FLMBOOL bCommas, FLMBOOL bCommas,
char * pszBuf); char * pszBuf);
void outputLogBuffer( void); void outputLogBuffer( void);
FINLINE void outputChar( FINLINE void outputChar(
char cChar) char cChar)
{ {
if (!m_pLogMsg) if (!m_pLogMsg)
{ {
*m_pszDestStr++ = cChar; *m_pszDestStr++ = cChar;
} }
else else
{ {
m_szLogBuf [m_uiCharOffset++] = cChar; m_szLogBuf [m_uiCharOffset++] = cChar;
m_uiNumLogChars++; m_uiNumLogChars++;
if (m_uiCharOffset == MAX_LOG_BUF_CHARS) if (m_uiCharOffset == MAX_LOG_BUF_CHARS)
{ {
outputLogBuffer(); outputLogBuffer();
} }
} }
} }
FINLINE void memsetChar( FINLINE void memsetChar(
char cChar, char cChar,
FLMUINT uiCount) FLMUINT uiCount)
{ {
if (!m_pLogMsg) if (!m_pLogMsg)
{ {
f_memset( m_pszDestStr, cChar, uiCount); f_memset( m_pszDestStr, cChar, uiCount);
m_pszDestStr += uiCount; m_pszDestStr += uiCount;
} }
else else
{ {
FLMUINT uiTmpCount; FLMUINT uiTmpCount;
skipping to change at line 4464 skipping to change at line 4464
}; };
/******************************************************************* ********* /******************************************************************* *********
Desc: Block manager Desc: Block manager
******************************************************************** ********/ ******************************************************************** ********/
flminterface FLMEXP IF_BlockMgr : public F_Object flminterface FLMEXP IF_BlockMgr : public F_Object
{ {
virtual FLMUINT FLMAPI getBlockSize( void) = 0; virtual FLMUINT FLMAPI getBlockSize( void) = 0;
virtual RCODE FLMAPI getBlock( virtual RCODE FLMAPI getBlock(
FLMUINT32 ui32BlockId, FLMUINT32 ui32BlockAdd r,
IF_Block ** ppBlock, IF_Block ** ppBlock,
FLMBYTE ** ppucBlock) = 0; FLMBYTE ** ppucBlock = NULL) = 0;
virtual RCODE FLMAPI createBlock( virtual RCODE FLMAPI createBlock(
IF_Block ** ppBlock, IF_Block ** ppBlock,
FLMBYTE ** ppucBlock, FLMBYTE ** ppucBlock =
FLMUINT32 * pui32BlockId NULL,
) = 0; FLMUINT32 * pui32BlockAd
dr = NULL) = 0;
virtual RCODE FLMAPI freeBlock( virtual RCODE FLMAPI freeBlock(
IF_Block ** ppBlock, IF_Block ** ppBlock,
FLMBYTE ** ppucBlock) = 0; FLMBYTE ** ppucBlock = NULL) = 0;
virtual RCODE FLMAPI prepareForUpdate( virtual RCODE FLMAPI prepareForUpdate(
IF_Block ** ppBlock, IF_Block ** ppBlock,
FLMBYTE ** ppucBlock) = 0; FLMBYTE ** ppucBlock = NULL) = 0;
}; };
RCODE FLMAPI FlmAllocBlockMgr( RCODE FLMAPI FlmAllocBlockMgr(
FLMUINT uiBlockSize, FLMUINT uiBlockSize,
IF_BlockMgr ** ppBlockMgr); IF_BlockMgr ** ppBlockMgr);
/******************************************************************* ********* /******************************************************************* *********
Desc:
********************************************************************
********/
enum BTREE_ERR_TYPE
{
NO_ERR = 0,
BT_HEADER,
KEY_ORDER,
DUPLICATE_KEYS,
INFINITY_MARKER,
CHILD_BLOCK_ADDRESS,
GET_BLOCK_FAILED,
MISSING_OVERALL_DATA_LENGTH,
NOT_DATA_ONLY_BLOCK,
BAD_DO_BLOCK_LENGTHS,
BAD_COUNTS,
CATASTROPHIC_FAILURE = 999
};
/*******************************************************************
*********
Desc:
********************************************************************
********/
typedef struct
{
FLMUINT uiKeyCnt;
FLMUINT uiFirstKeyCnt;
FLMUINT uiBlockCnt;
FLMUINT uiBytesUsed;
FLMUINT uiDOBlockCnt;
FLMUINT uiDOBytesUsed;
} BTREE_LEVEL_STATS;
/*******************************************************************
*********
Desc:
********************************************************************
********/
typedef struct
{
FLMUINT uiBlockAddr;
FLMUINT uiBlockSize;
FLMUINT uiBlocksChecked;
FLMUINT uiAvgFreeSpace;
FLMUINT uiLevels;
FLMUINT uiNumKeys;
FLMUINT64 ui64FreeSpace;
#define F_BTREE_MAX_LEVELS 8
BTREE_LEVEL_STATS LevelStats[ F_BTREE_MAX_LEVELS];
char szMsg[ 64];
BTREE_ERR_TYPE type;
} BTREE_ERR_INFO;
/*******************************************************************
*********
Desc: B-Tree Desc: B-Tree
******************************************************************** ********/ ******************************************************************** ********/
flminterface FLMEXP IF_BTree : public F_Object flminterface FLMEXP IF_BTree : public F_Object
{ {
virtual RCODE FLMAPI btCreate( virtual RCODE FLMAPI btCreate(
FLMUINT16 ui16 BtreeId, FLMUINT16 ui16 BtreeId,
FLMBOOL bCou nts, FLMBOOL bCou nts,
FLMBOOL bDat a, FLMBOOL bDat a,
FLMUINT32 * pui3 2RootBlockId) = 0; FLMUINT32 * pui3 2RootBlockAddr) = 0;
virtual RCODE FLMAPI btOpen( virtual RCODE FLMAPI btOpen(
FLMUINT32 ui32 RootBlockId, FLMUINT32 ui32 RootBlockAddr,
FLMBOOL bCou nts, FLMBOOL bCou nts,
FLMBOOL bDat a, FLMBOOL bDat a,
IF_ResultSetCompare * pCompare = NULL) = 0; IF_ResultSetCompare * pCompare = NULL) = 0;
virtual void FLMAPI btClose( void) = 0; virtual void FLMAPI btClose( void) = 0;
virtual RCODE FLMAPI btDeleteTree( virtual RCODE FLMAPI btDeleteTree(
IF_DeleteStatus * ifpDeleteSta tus = NULL) = 0; IF_DeleteStatus * ifpDeleteSta tus = NULL) = 0;
virtual RCODE FLMAPI btGetBlockChains( virtual RCODE FLMAPI btGetBlockChains(
skipping to change at line 4525 skipping to change at line 4575
FLMUINT uiKe yLen) = 0; FLMUINT uiKe yLen) = 0;
virtual RCODE FLMAPI btInsertEntry( virtual RCODE FLMAPI btInsertEntry(
const FLMBYTE * pucKey, const FLMBYTE * pucKey,
FLMUINT uiKe yBufSize, FLMUINT uiKe yBufSize,
FLMUINT uiKe yLen, FLMUINT uiKe yLen,
const FLMBYTE * pucData, const FLMBYTE * pucData,
FLMUINT uiDa taLen, FLMUINT uiDa taLen,
FLMBOOL bFir st, FLMBOOL bFir st,
FLMBOOL bLas t, FLMBOOL bLas t,
FLMUINT32 * pui3 2BlockId = NULL, FLMUINT32 * pui3 2BlockAddr = NULL,
FLMUINT * puiO ffsetIndex = NULL) = 0; FLMUINT * puiO ffsetIndex = NULL) = 0;
virtual RCODE FLMAPI btReplaceEntry( virtual RCODE FLMAPI btReplaceEntry(
const FLMBYTE * pucKey, const FLMBYTE * pucKey,
FLMUINT uiKe yBufSize, FLMUINT uiKe yBufSize,
FLMUINT uiKe yLen, FLMUINT uiKe yLen,
const FLMBYTE * pucData, const FLMBYTE * pucData,
FLMUINT uiDa taLen, FLMUINT uiDa taLen,
FLMBOOL bFir st, FLMBOOL bFir st,
FLMBOOL bLas t, FLMBOOL bLas t,
FLMBOOL bTru ncate = TRUE, FLMBOOL bTru ncate = TRUE,
FLMUINT32 * pui3 2BlockId = NULL, FLMUINT32 * pui3 2BlockAddr = NULL,
FLMUINT * puiO ffsetIndex = NULL) = 0; FLMUINT * puiO ffsetIndex = NULL) = 0;
virtual RCODE FLMAPI btLocateEntry( virtual RCODE FLMAPI btLocateEntry(
FLMBYTE * pucK ey, FLMBYTE * pucK ey,
FLMUINT uiKe yBufSize, FLMUINT uiKe yBufSize,
FLMUINT * puiK eyLen, FLMUINT * puiK eyLen,
FLMUINT uiMa tch, FLMUINT uiMa tch,
FLMUINT * puiP osition = NULL, FLMUINT * puiP osition = NULL,
FLMUINT * puiD ataLength = NULL, FLMUINT * puiD ataLength = NULL,
FLMUINT32 * pui3 2BlockId = NULL, FLMUINT32 * pui3 2BlockAddr = NULL,
FLMUINT * puiO ffsetIndex = NULL) = 0; FLMUINT * puiO ffsetIndex = NULL) = 0;
virtual RCODE FLMAPI btGetEntry( virtual RCODE FLMAPI btGetEntry(
FLMBYTE * pucK ey, FLMBYTE * pucK ey,
FLMUINT uiKe yLen, FLMUINT uiKe yLen,
FLMBYTE * pucD ata, FLMBYTE * pucD ata,
FLMUINT uiDa taBufSize, FLMUINT uiDa taBufSize,
FLMUINT * puiD ataLen) = 0; FLMUINT * puiD ataLen) = 0;
virtual RCODE FLMAPI btNextEntry( virtual RCODE FLMAPI btNextEntry(
FLMBYTE * pucK ey, FLMBYTE * pucK ey,
FLMUINT uiKe yBufSize, FLMUINT uiKe yBufSize,
FLMUINT * puiK eyLen, FLMUINT * puiK eyLen,
FLMUINT * puiD ataLength = NULL, FLMUINT * puiD ataLength = NULL,
FLMUINT32 * pui3 2BlockId = NULL, FLMUINT32 * pui3 2BlockAddr = NULL,
FLMUINT * puiO ffsetIndex = NULL) = 0; FLMUINT * puiO ffsetIndex = NULL) = 0;
virtual RCODE FLMAPI btPrevEntry( virtual RCODE FLMAPI btPrevEntry(
FLMBYTE * pucK ey, FLMBYTE * pucK ey,
FLMUINT uiKe yBufSize, FLMUINT uiKe yBufSize,
FLMUINT * puiK eyLen, FLMUINT * puiK eyLen,
FLMUINT * puiD ataLength = NULL, FLMUINT * puiD ataLength = NULL,
FLMUINT32 * pui3 2BlockId = NULL, FLMUINT32 * pui3 2BlockAddr = NULL,
FLMUINT * puiO ffsetIndex = NULL) = 0; FLMUINT * puiO ffsetIndex = NULL) = 0;
virtual RCODE FLMAPI btFirstEntry( virtual RCODE FLMAPI btFirstEntry(
FLMBYTE * pucK ey, FLMBYTE * pucK ey,
FLMUINT uiKe yBufSize, FLMUINT uiKe yBufSize,
FLMUINT * puiK eyLen, FLMUINT * puiK eyLen,
FLMUINT * puiD ataLength = NULL, FLMUINT * puiD ataLength = NULL,
FLMUINT32 * pui3 2BlockId = NULL, FLMUINT32 * pui3 2BlockAddr = NULL,
FLMUINT * puiO ffsetIndex = NULL) = 0; FLMUINT * puiO ffsetIndex = NULL) = 0;
virtual RCODE FLMAPI btLastEntry( virtual RCODE FLMAPI btLastEntry(
FLMBYTE * pucK ey, FLMBYTE * pucK ey,
FLMUINT uiKe yBufSize, FLMUINT uiKe yBufSize,
FLMUINT * puiK eyLen, FLMUINT * puiK eyLen,
FLMUINT * puiD ataLength = NULL, FLMUINT * puiD ataLength = NULL,
FLMUINT32 * pui3 2BlockId = NULL, FLMUINT32 * pui3 2BlockAddr = NULL,
FLMUINT * puiO ffsetIndex = NULL) = 0; FLMUINT * puiO ffsetIndex = NULL) = 0;
virtual RCODE FLMAPI btSetReadPosition( virtual RCODE FLMAPI btSetReadPosition(
FLMBYTE * pucK ey, FLMBYTE * pucK ey,
FLMUINT uiKe yLen, FLMUINT uiKe yLen,
FLMUINT uiPo sition) = 0; FLMUINT uiPo sition) = 0;
virtual RCODE FLMAPI btGetReadPosition( virtual RCODE FLMAPI btGetReadPosition(
FLMUINT * puiP osition) = 0; FLMUINT * puiP osition) = 0;
skipping to change at line 4621 skipping to change at line 4671
// FLMUINT * puiK eyCount, // FLMUINT * puiK eyCount,
// FLMBOOL * pbTo talsEstimated, // FLMBOOL * pbTo talsEstimated,
// FLMUINT uiAv gBlockFullness) = 0; // FLMUINT uiAv gBlockFullness) = 0;
virtual FLMBOOL FLMAPI btHasCounts( void) = 0; virtual FLMBOOL FLMAPI btHasCounts( void) = 0;
virtual FLMBOOL FLMAPI btHasData( void) = 0; virtual FLMBOOL FLMAPI btHasData( void) = 0;
virtual void FLMAPI btResetBtree( void) = 0; virtual void FLMAPI btResetBtree( void) = 0;
virtual FLMUINT32 FLMAPI getRootBlockId( void) = 0; virtual FLMUINT32 FLMAPI getRootBlockAddr( void) = 0;
virtual RCODE btCheck(
BTREE_ERR_INFO * pErrInfo) =
0;
}; };
RCODE FLMAPI FlmAllocBTree( RCODE FLMAPI FlmAllocBTree(
IF_BlockMgr * pBlockMgr, IF_BlockMgr * pBlockMgr,
IF_BTree ** ppBt ree); IF_BTree ** ppBt ree);
/******************************************************************* ********* /******************************************************************* *********
Desc: This class is used to do pool memory allocations. Desc: This class is used to do pool memory allocations.
******************************************************************** ********/ ******************************************************************** ********/
 End of changes. 44 change blocks. 
71 lines changed or deleted 134 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/