ftk.h   ftk.h 
skipping to change at line 340 skipping to change at line 340
#endif #endif
#if defined( FLM_WIN) || defined( FLM_NLM) #if defined( FLM_WIN) || defined( FLM_NLM)
#define FLMATOMIC volatile long #define FLMATOMIC volatile long
#else #else
#define FLMATOMIC volatile int #define FLMATOMIC volatile int
#endif #endif
/// \addtogroup retcodes /// \addtogroup retcodes
/// @{ /// @{
typedef FLMINT RCODE; ///< Return code typedef FLMINT32 RCODE; ///< Return code
/// @} /// @}
typedef FLMINT FLMBOOL; typedef FLMINT32 FLMBOOL;
#define F_FILENAME_SIZE 256 #define F_FILENAME_SIZE 256
#define F_PATH_MAX_SIZE 256 #define F_PATH_MAX_SIZE 256
#define F_WAITFOREVER (0xFFFFFFFF) #define F_WAITFOREVER (0xFFFFFFFF)
#define FLM_MAX_UINT ((FLMUINT)(-1L)) #define FLM_MAX_UINT ((FLMUINT)(-1L))
#define FLM_MAX_INT ((FLMINT)(((FLMUINT)(-1L)) >> 1)) #define FLM_MAX_INT ((FLMINT)(((FLMUINT)(-1L)) >> 1))
#define FLM_MIN_INT ((FLMINT)((((FLMUINT)(-1L)) >> 1) + 1)) #define FLM_MIN_INT ((FLMINT)((((FLMUINT)(-1L)) >> 1) + 1))
#define FLM_MAX_UINT32 ((FLMUINT32)(0xFFFFFFFFL)) #define FLM_MAX_UINT32 ((FLMUINT32)(0xFFFFFFFFL))
#define FLM_MAX_INT32 ((FLMINT32)(0x7FFFFFFFL)) #define FLM_MAX_INT32 ((FLMINT32)(0x7FFFFFFFL))
skipping to change at line 379 skipping to change at line 379
#endif #endif
// xpcselany keeps MS compilers from complaining about multiple defi nitions // xpcselany keeps MS compilers from complaining about multiple defi nitions
#if defined(_MSC_VER) #if defined(_MSC_VER)
#define xpcselany __declspec(selectany) #define xpcselany __declspec(selectany)
#else #else
#define xpcselany #define xpcselany
#endif #endif
#if !defined( FLM_UNIX) && !defined( FLM_64BIT)
#define FLM_PACK_STRUCTS
#ifdef FLM_WIN
// For some reason, Windows emits a warning when the
packing
// is changed.
#pragma warning( disable : 4103)
#endif
#endif
#ifdef FLM_PACK_STRUCTS
#pragma pack(push, 1)
#endif
typedef struct typedef struct
{ {
FLMUINT32 l; FLMUINT32 l;
FLMUINT16 w1; FLMUINT16 w1;
FLMUINT16 w2; FLMUINT16 w2;
FLMUINT8 b[ 8]; FLMUINT8 b[ 8];
} FLM_GUID; } FLM_GUID;
#ifdef FLM_PACK_STRUCTS
#pragma pack(pop)
#endif
#define RFLMIID const FLM_GUID & #define RFLMIID const FLM_GUID &
#define RFLMCLSID const FLM_GUID & #define RFLMCLSID const FLM_GUID &
#define FLMGUID FLM_GUID #define FLMGUID FLM_GUID
#define FLMCLSID FLM_GUID #define FLMCLSID FLM_GUID
// FLM_DEFINE_GUID may be used to define or declare a GUID // FLM_DEFINE_GUID may be used to define or declare a GUID
// #define FLM_INIT_GUID before including this header file when // #define FLM_INIT_GUID before including this header file when
// you want to define the guid, all other inclusions will only decla re // you want to define the guid, all other inclusions will only decla re
// the guid, not define it. // the guid, not define it.
skipping to change at line 648 skipping to change at line 667
#ifndef FALSE #ifndef FALSE
#define FALSE 0 #define FALSE 0
#endif #endif
#define f_offsetof(s,m) \ #define f_offsetof(s,m) \
(((FLMSIZET)&((s *)1)->m) - 1) (((FLMSIZET)&((s *)1)->m) - 1)
/******************************************************************* ********* /******************************************************************* *********
Desc: Language constants Desc: Language constants
IMPORTANT NOTE: If langes are added or changed, the corresponding de
finitions
in java and C# must also be updated.
******************************************************************** ********/ ******************************************************************** ********/
/// \addtogroup flm_languages /// \addtogroup flm_languages
/// @{ /// @{
#define FLM_US_LANG 0 ///< English, United States #define FLM_US_LANG 0 ///< English, United States
#define FLM_AF_LANG 1 ///< Afrikaans #define FLM_AF_LANG 1 ///< Afrikaans
#define FLM_AR_LANG 2 ///< Arabic #define FLM_AR_LANG 2 ///< Arabic
#define FLM_CA_LANG 3 ///< Catalan #define FLM_CA_LANG 3 ///< Catalan
#define FLM_HR_LANG 4 ///< Croatian #define FLM_HR_LANG 4 ///< Croatian
#define FLM_CZ_LANG 5 ///< Czech #define FLM_CZ_LANG 5 ///< Czech
skipping to change at line 841 skipping to change at line 862
#define FLM_INCL 0x0010 #define FLM_INCL 0x0010
#define FLM_EXCL 0x0020 #define FLM_EXCL 0x0020
#define FLM_EXACT 0x0040 #define FLM_EXACT 0x0040
#define FLM_KEY_EXACT 0x0080 #define FLM_KEY_EXACT 0x0080
#define FLM_FIRST 0x0100 #define FLM_FIRST 0x0100
#define FLM_LAST 0x0200 #define FLM_LAST 0x0200
/******************************************************************* ********* /******************************************************************* *********
Desc: Comparison flags for strings Desc: Comparison flags for strings
IMPORTANT NOTE: If changes are made to these, corresponding changes
need to
be made in the java and C# code where they are defined.
******************************************************************** ********/ ******************************************************************** ********/
/// \addtogroup compare_rules /// \addtogroup compare_rules
/// @{ /// @{
#define FLM_COMP_CASE_INSENSITIVE 0x0001 ///< 0x0001 = Do case sensitive comparison. #define FLM_COMP_CASE_INSENSITIVE 0x0001 ///< 0x0001 = Do case sensitive comparison.
#define FLM_COMP_COMPRESS_WHITESPACE 0x0002 ///< 0x0002 = Compare multiple whitespace characters as a single space. #define FLM_COMP_COMPRESS_WHITESPACE 0x0002 ///< 0x0002 = Compare multiple whitespace characters as a single space.
#define FLM_COMP_NO_WHITESPACE 0x0004 ///< 0x0004 = Ignore all whitespace during comparison. #define FLM_COMP_NO_WHITESPACE 0x0004 ///< 0x0004 = Ignore all whitespace during comparison.
#define FLM_COMP_NO_UNDERSCORES 0x0008 ///< 0x0008 = Ignore all underscore characters during comparison. #define FLM_COMP_NO_UNDERSCORES 0x0008 ///< 0x0008 = Ignore all underscore characters during comparison.
#define FLM_COMP_NO_DASHES 0x0010 ///< 0x0010 = Ignore all dash characters during compari son. #define FLM_COMP_NO_DASHES 0x0010 ///< 0x0010 = Ignore all dash characters during compari son.
#define FLM_COMP_WHITESPACE_AS_SPACE 0x0020 ///< 0x0020 = Treat newlines and tabs as spaces during comparison. #define FLM_COMP_WHITESPACE_AS_SPACE 0x0020 ///< 0x0020 = Treat newlines and tabs as spaces during comparison.
#define FLM_COMP_IGNORE_LEADING_SPACE 0x0040 ///< 0x0040 = Ignore leading space characters during comparison. #define FLM_COMP_IGNORE_LEADING_SPACE 0x0040 ///< 0x0040 = Ignore leading space characters during comparison.
skipping to change at line 924 skipping to change at line 947
#define F_PUSH_FORECOLOR "%+F" #define F_PUSH_FORECOLOR "%+F"
#define F_POP_FORECOLOR "%-F" #define F_POP_FORECOLOR "%-F"
#define F_PUSH_BACKCOLOR "%+B" #define F_PUSH_BACKCOLOR "%+B"
#define F_POP_BACKCOLOR "%-B" #define F_POP_BACKCOLOR "%-B"
#define F_PUSHCOLOR F_PUSH_FORECOLOR F_PUSH_BACK COLOR #define F_PUSHCOLOR F_PUSH_FORECOLOR F_PUSH_BACK COLOR
#define F_POPCOLOR F_POP_FORECOLOR F_POP_BACKCO LOR #define F_POPCOLOR F_POP_FORECOLOR F_POP_BACKCO LOR
#ifdef FLM_PACK_STRUCTS
#pragma pack(push, 1)
#endif
// IMPORTANT NOTE: This structure needs to be kept in sync with corr
esponding
// structures and classes in java and C#.
/******************************************************************* ********* /******************************************************************* *********
/// Structure for reporting slab usage information in cache. /// Structure for reporting slab usage information in cache.
******************************************************************** ********/ ******************************************************************** ********/
typedef struct typedef struct
{ {
FLMUINT64 ui64Slabs; ///< Total slabs currently allocated. FLMUINT64 ui64Slabs; ///< Total slabs currently allocated.
FLMUINT64 ui64SlabBytes; ///< Total bytes currently allocated in slabs. FLMUINT64 ui64SlabBytes; ///< Total bytes currently allocated in slabs.
FLMUINT64 ui64AllocatedCells; ///< Total cells allocated within slabs. FLMUINT64 ui64AllocatedCells; ///< Total cells allocated within slabs.
FLMUINT64 ui64FreeCells; ///< Total cells that are free within slabs. FLMUINT64 ui64FreeCells; ///< Total cells that are free within slabs.
} FLM_SLAB_USAGE; } FLM_SLAB_USAGE;
skipping to change at line 5117 skipping to change at line 5146
void clearList( void clearList(
FLMUINT uiList = 0); FLMUINT uiList = 0);
private: private:
FLMUINT m_uiListNodeCnt; FLMUINT m_uiListNodeCnt;
F_ListNode * m_pListNodes; F_ListNode * m_pListNodes;
}; };
// IMPORTANT NOTE: If these are changed, corresonding changes
// should be made in java and C# code as well.
/// Types of locks that may be requested. /// Types of locks that may be requested.
typedef enum typedef enum
{ {
FLM_LOCK_NONE = 0, FLM_LOCK_NONE = 0,
FLM_LOCK_EXCLUSIVE, ///< 1 = Exclusive lock. FLM_LOCK_EXCLUSIVE, ///< 1 = Exclusive lock.
FLM_LOCK_SHARED ///< 2 = Shared lock. FLM_LOCK_SHARED ///< 2 = Shared lock.
} eLockType; } eLockType;
/******************************************************************* ********* /******************************************************************* *********
/// Abstract base class to get lock information. The application mu st /// Abstract base class to get lock information. The application mu st
skipping to change at line 5157 skipping to change at line 5188
/// from the IF_LockObject::getLockInfo() function. /// from the IF_LockObject::getLockInfo() function.
virtual FLMBOOL FLMAPI addLockInfo( virtual FLMBOOL FLMAPI addLockInfo(
FLMUINT uiLockNum, ///< Position in queue (0 = lock holder, 1..n = lock waiter). FLMUINT uiLockNum, ///< Position in queue (0 = lock holder, 1..n = lock waiter).
FLMUINT uiThreadID, ///< Thread ID of the lock holder/waiter. FLMUINT uiThreadID, ///< Thread ID of the lock holder/waiter.
FLMUINT uiTime ///< For the lock holder, this is the amount of time the lock has been FLMUINT uiTime ///< For the lock holder, this is the amount of time the lock has been
///< held.\ For a lock waiter, this is the am ount of time the thread ///< held.\ For a lock waiter, this is the am ount of time the thread
///< has been waiting to obtain the lock.\ Bot h times are milliseconds. ///< has been waiting to obtain the lock.\ Bot h times are milliseconds.
) = 0; ) = 0;
}; };
// IMPORTANT NOTE: This structure needs to stay in sync with
// corresponding structures in java and C# code.
/******************************************************************* ******* /******************************************************************* *******
/// Structure used in gathering statistics to hold an operation coun t and an elapsed time. /// Structure used in gathering statistics to hold an operation coun t and an elapsed time.
******************************************************************** ******/ ******************************************************************** ******/
typedef struct typedef struct
{ {
FLMUINT64 ui64Count; ///< Number of times operation was performed FLMUINT64 ui64Count; ///< Number of times operation was performed
FLMUINT64 ui64ElapMilli; ///< Total elapsed time (milliseconds) for the operations. FLMUINT64 ui64ElapMilli; ///< Total elapsed time (milliseconds) for the operations.
} F_COUNT_TIME_STAT; } F_COUNT_TIME_STAT;
// IMPORTANT NOTE: This structure needs to stay in sync with
// corresponding structures in java and C# code.
/******************************************************************* ******* /******************************************************************* *******
/// Structure for returning lock statistics. /// Structure for returning lock statistics.
******************************************************************** ******/ ******************************************************************** ******/
typedef struct typedef struct
{ {
F_COUNT_TIME_STAT NoLocks; ///< Statistics on times when nobody was holding a lock on the database. F_COUNT_TIME_STAT NoLocks; ///< Statistics on times when nobody was holding a lock on the database.
F_COUNT_TIME_STAT WaitingForLock; ///< Statistics on times threads were waiting to obtain a database lock. F_COUNT_TIME_STAT WaitingForLock; ///< Statistics on times threads were waiting to obtain a database lock.
F_COUNT_TIME_STAT HeldLock; ///< Statistics on times when a thread was holding a lock on th e database. F_COUNT_TIME_STAT HeldLock; ///< Statistics on times when a thread was holding a lock on th e database.
} F_LOCK_STATS; } F_LOCK_STATS;
skipping to change at line 5338 skipping to change at line 5373
ui64RetVal += ui64Boundary; ui64RetVal += ui64Boundary;
} }
return( ui64RetVal); return( ui64RetVal);
} }
FINLINE void f_setBit( FINLINE void f_setBit(
FLMBYTE * pucBuffer, FLMBYTE * pucBuffer,
FLMUINT uiBit) FLMUINT uiBit)
{ {
pucBuffer[ uiBit >> 3] |= (0x01 << (uiBit & 0x07)); pucBuffer[ uiBit >> 3] |= (FLMBYTE)(0x01 << (uiBit & 0x07));
} }
FINLINE void f_clearBit( FINLINE void f_clearBit(
FLMBYTE * pucBuffer, FLMBYTE * pucBuffer,
FLMUINT uiBit) FLMUINT uiBit)
{ {
pucBuffer[ uiBit >> 3] &= ~(0x01 << (uiBit & 0x07)); pucBuffer[ uiBit >> 3] &= ~((FLMBYTE)(0x01 << (uiBit & 0x07) ));
} }
FINLINE FLMBOOL f_isBitSet( FINLINE FLMBOOL f_isBitSet(
FLMBYTE * pucBuffer, FLMBYTE * pucBuffer,
FLMUINT uiBit) FLMUINT uiBit)
{ {
return( (pucBuffer[ uiBit >> 3] & (0x01 << (uiBit & 0x07))) return( (pucBuffer[ uiBit >> 3] & (FLMBYTE)(0x01 << (uiBit & 0x07)))
? TRUE ? TRUE
: FALSE); : FALSE);
} }
RCODE FLMAPI f_filecpy( RCODE FLMAPI f_filecpy(
const char * pszSourceFile, const char * pszSourceFile,
const char * pszData); const char * pszData);
RCODE FLMAPI f_filecat( RCODE FLMAPI f_filecat(
const char * pszSourceFile, const char * pszSourceFile,
skipping to change at line 7043 skipping to change at line 7078
FLMUINT m_uiObjects; FLMUINT m_uiObjects;
FLMUINT m_uiMaxObjects; FLMUINT m_uiMaxObjects;
}; };
/******************************************************************* ********* /******************************************************************* *********
Desc: Process ID Functions Desc: Process ID Functions
******************************************************************** ********/ ******************************************************************** ********/
FLMUINT f_getpid( void); FLMUINT f_getpid( void);
#ifdef FLM_PACK_STRUCTS
#pragma pack(pop)
#endif
#endif // FTK_H #endif // FTK_H
 End of changes. 14 change blocks. 
5 lines changed or deleted 48 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/