XFLAIM: ftk.h File Reference

- Main Page
- Modules
- Classes
- Files

- File List
- File Members

# ftk.h File Reference

`#include <stdarg.h>`

## Classes
struct | PoolMemoryBlock
| Header for blocks in a memory pool. More...
struct | POOL_STATS
| Pool memory manager. More...
## Defines
#define | NE_FLM_OK 0
| 0 - Operation was successful.
#define | NE_FLM_BOF_HIT 0xC001
| 0xC001 - Beginning of results encountered.
#define | NE_FLM_EOF_HIT 0xC002
| 0xC002 - End of results encountered.
#define | NE_FLM_EXISTS 0xC004
| 0xC004 - Object already exists.
#define | NE_FLM_FAILURE 0xC005
| 0xC005 - Internal failure.
#define | NE_FLM_NOT_FOUND 0xC006
| 0xC006 - An object was not found.
#define | NE_FLM_BTREE_ERROR 0xC012
| 0xC012 - Corruption found in b-tree.
#define | NE_FLM_BTREE_FULL 0xC013
| 0xC013 - B-tree cannot grow beyond current size.
#define | NE_FLM_CONV_DEST_OVERFLOW 0xC01C
| 0xC01C - Destination buffer not large enough to hold data.
#define | NE_FLM_CONV_ILLEGAL 0xC01D
| 0xC01D - Attempt to convert between data types is an unsupported conversion.
#define | NE_FLM_CONV_NUM_OVERFLOW 0xC020
| 0xC020 - Numeric overflow (> upper bound) converting to numeric type.
#define | NE_FLM_DATA_ERROR 0xC022
| 0xC022 - Corruption found in b-tree.
#define | NE_FLM_ILLEGAL_OP 0xC026
| 0xC026 - Illegal operation
#define | NE_FLM_MEM 0xC037
| 0xC037 - Attempt to allocate memory failed.
#define | NE_FLM_NOT_UNIQUE 0xC03E
| 0xC03E - Non-unique key.
#define | NE_FLM_SYNTAX 0xC045
| 0xC045 - Syntax error while parsing.
#define | NE_FLM_NOT_IMPLEMENTED 0xC05F
| 0xC05F - Attempt was made to use a feature that is not implemented.
#define | NE_FLM_INVALID_PARM 0xC08B
| 0xC08B - Invalid parameter passed into a function.
#define | NE_FLM_IO_ACCESS_DENIED 0xC201
| 0xC201 - Access to file is denied. Caller is not allowed access to a file.
#define | NE_FLM_IO_BAD_FILE_HANDLE 0xC202
| 0xC202 - Bad file handle or file descriptor.
#define | NE_FLM_IO_COPY_ERR 0xC203
| 0xC203 - Error occurred while copying a file.
#define | NE_FLM_IO_DISK_FULL 0xC204
| 0xC204 - Disk full.
#define | NE_FLM_IO_END_OF_FILE 0xC205
| 0xC205 - End of file reached while reading from the file.
#define | NE_FLM_IO_OPEN_ERR 0xC206
| 0xC206 - Error while opening the file.
#define | NE_FLM_IO_SEEK_ERR 0xC207
| 0xC207 - Error occurred while positioning (seeking) within a file.
#define | NE_FLM_IO_DIRECTORY_ERR 0xC208
| 0xC208 - Error occurred while accessing or deleting a directory.
#define | NE_FLM_IO_PATH_NOT_FOUND 0xC209
| 0xC209 - File not found.
#define | NE_FLM_IO_TOO_MANY_OPEN_FILES 0xC20A
| 0xC20A - Too many files open.
#define | NE_FLM_IO_PATH_TOO_LONG 0xC20B
| 0xC20B - File name too long.
#define | NE_FLM_IO_NO_MORE_FILES 0xC20C
| 0xC20C - No more files in directory.
#define | NE_FLM_IO_DELETING_FILE 0xC20D
| 0xC20D - Error occurred while deleting a file.
#define | NE_FLM_IO_FILE_LOCK_ERR 0xC20E
| 0xC20E - Error attempting to acquire a byte-range lock on a file.
#define | NE_FLM_IO_FILE_UNLOCK_ERR 0xC20F
| 0xC20F - Error attempting to release a byte-range lock on a file.
#define | NE_FLM_IO_PATH_CREATE_FAILURE 0xC210
| 0xC210 - Error occurred while attempting to create a directory or sub-directory.
#define | NE_FLM_IO_RENAME_FAILURE 0xC211
| 0xC211 - Error occurred while renaming a file.
#define | NE_FLM_IO_INVALID_PASSWORD 0xC212
| 0xC212 - Invalid file password.
#define | NE_FLM_SETTING_UP_FOR_READ 0xC213
| 0xC213 - Error occurred while setting up to perform a file read operation.
#define | NE_FLM_SETTING_UP_FOR_WRITE 0xC214
| 0xC214 - Error occurred while setting up to perform a file write operation.
#define | NE_FLM_IO_CANNOT_REDUCE_PATH 0xC215
| 0xC215 - Cannot reduce file name into more components.
#define | NE_FLM_INITIALIZING_IO_SYSTEM 0xC216
| 0xC216 - Error occurred while setting up to access the file system.
#define | NE_FLM_FLUSHING_FILE 0xC217
| 0xC217 - Error occurred while flushing file data buffers to disk.
#define | NE_FLM_IO_INVALID_FILENAME 0xC218
| 0xC218 - Invalid file name.
#define | NE_FLM_IO_CONNECT_ERROR 0xC219
| 0xC219 - Error connecting to a remote network resource.
#define | NE_FLM_OPENING_FILE 0xC21A
| 0xC21A - Unexpected error occurred while opening a file.
#define | NE_FLM_DIRECT_OPENING_FILE 0xC21B
| 0xC21B - Unexpected error occurred while opening a file in direct access mode.
#define | NE_FLM_CREATING_FILE 0xC21C
| 0xC21C - Unexpected error occurred while creating a file.
#define | NE_FLM_DIRECT_CREATING_FILE 0xC21D
| 0xC21D - Unexpected error occurred while creating a file in direct access mode.
#define | NE_FLM_READING_FILE 0xC21E
| 0xC21E - Unexpected error occurred while reading a file.
#define | NE_FLM_DIRECT_READING_FILE 0xC21F
| 0xC21F - Unexpected error occurred while reading a file in direct access mode.
#define | NE_FLM_WRITING_FILE 0xC220
| 0xC220 - Unexpected error occurred while writing to a file.
#define | NE_FLM_DIRECT_WRITING_FILE 0xC221
| 0xC221 - Unexpected error occurred while writing a file in direct access mode.
#define | NE_FLM_POSITIONING_IN_FILE 0xC222
| 0xC222 - Unexpected error occurred while positioning within a file.
#define | NE_FLM_GETTING_FILE_SIZE 0xC223
| 0xC223 - Unexpected error occurred while getting a file's size.
#define | NE_FLM_TRUNCATING_FILE 0xC224
| 0xC224 - Unexpected error occurred while truncating a file.
#define | NE_FLM_PARSING_FILE_NAME 0xC225
| 0xC225 - Unexpected error occurred while parsing a file's name.
#define | NE_FLM_CLOSING_FILE 0xC226
| 0xC226 - Unexpected error occurred while closing a file.
#define | NE_FLM_GETTING_FILE_INFO 0xC227
| 0xC227 - Unexpected error occurred while getting information about a file.
#define | NE_FLM_EXPANDING_FILE 0xC228
| 0xC228 - Unexpected error occurred while expanding a file.
#define | NE_FLM_GETTING_FREE_BLOCKS 0xC229
| 0xC229 - Unexpected error getting free blocks from file system.
#define | NE_FLM_CHECKING_FILE_EXISTENCE 0xC22A
| 0xC22A - Unexpected error occurred while checking to see if a file exists.
#define | NE_FLM_RENAMING_FILE 0xC22B
| 0xC22B - Unexpected error occurred while renaming a file.
#define | NE_FLM_SETTING_FILE_INFO 0xC22C
| 0xC22C - Unexpected error occurred while setting a file's information.
#define | NE_FLM_IO_PENDING 0xC22D
| 0xC22D - I/O has not yet completed
#define | NE_FLM_ASYNC_FAILED 0xC22E
| 0xC22E - An async I/O operation failed
#define | NE_FLM_MISALIGNED_IO 0xC22F
| 0xC22F - Misaligned buffer or offset encountered during I/O request
#define | NE_FLM_STREAM_DECOMPRESS_ERROR 0xC400
| 0xC400 - Error decompressing data stream.
#define | NE_FLM_STREAM_NOT_COMPRESSED 0xC401
| 0xC401 - Attempting to decompress a data stream that is not compressed.
#define | NE_FLM_STREAM_TOO_MANY_FILES 0xC402
| 0xC402 - Too many files in input stream.
#define | NE_FLM_COULD_NOT_CREATE_SEMAPHORE 0xC500
| 0xC500 - Could not create a semaphore.
#define | NE_FLM_BAD_UTF8 0xC501
| 0xC501 - An invalid byte sequence was found in a UTF-8 string
#define | NE_FLM_ERROR_WAITING_ON_SEMAPHORE 0xC502
| 0xC502 - Error occurred while waiting on a sempahore.
#define | NE_FLM_BAD_SEN 0xC503
| 0xC503 - Invalid simple encoded number.
#define | NE_FLM_COULD_NOT_START_THREAD 0xC504
| 0xC504 - Problem starting a new thread.
#define | NE_FLM_BAD_BASE64_ENCODING 0xC505
| 0xC505 - Invalid base64 sequence encountered.
#define | NE_FLM_STREAM_EXISTS 0xC506
| 0xC506 - Stream file already exists.
#define | NE_FLM_MULTIPLE_MATCHES 0xC507
| 0xC507 - Multiple items matched but only one match was expected.
#define | NE_FLM_BTREE_KEY_SIZE 0xC508
| 0xC508 - Invalid b-tree key size.
#define | NE_FLM_BTREE_BAD_STATE 0xC509
| 0xC509 - B-tree operation cannot be completed.
#define | NE_FLM_COULD_NOT_CREATE_MUTEX 0xC50A
| 0xC50A - Error occurred while creating or initializing a mutex.
#define | NE_FLM_BAD_PLATFORM_FORMAT 0xC50B
| 0xC50B - In-memory alignment of disk structures is incorrect
#define | NE_FLM_LOCK_REQ_TIMEOUT 0xC50C
| 0xC50C - Timeout while waiting for a lock object
#define | NE_FLM_WAIT_TIMEOUT 0xC50D
| 0xC50D - Timeout while waiting on a semaphore, condition variable, or reader/writer lock
#define | NE_FLM_NOIP_ADDR 0xC900
| 0xC900 - IP address not found
#define | NE_FLM_SOCKET_FAIL 0xC901
| 0xC901 - IP socket failure
#define | NE_FLM_CONNECT_FAIL 0xC902
| 0xC902 - TCP/IP connection failure
#define | NE_FLM_BIND_FAIL 0xC903
| 0xC903 - The TCP/IP services on your system may not be configured or installed.
#define | NE_FLM_LISTEN_FAIL 0xC904
| 0xC904 - TCP/IP listen failed
#define | NE_FLM_ACCEPT_FAIL 0xC905
| 0xC905 - TCP/IP accept failed
#define | NE_FLM_SELECT_ERR 0xC906
| 0xC906 - TCP/IP select failed
#define | NE_FLM_SOCKET_SET_OPT_FAIL 0xC907
| 0xC907 - TCP/IP socket operation failed
#define | NE_FLM_SOCKET_DISCONNECT 0xC908
| 0xC908 - TCP/IP disconnected
#define | NE_FLM_SOCKET_READ_FAIL 0xC909
| 0xC909 - TCP/IP read failed
#define | NE_FLM_SOCKET_WRITE_FAIL 0xC90A
| 0xC90A - TCP/IP write failed
#define | NE_FLM_SOCKET_READ_TIMEOUT 0xC90B
| 0xC90B - TCP/IP read timeout
#define | NE_FLM_SOCKET_WRITE_TIMEOUT 0xC90C
| 0xC90C - TCP/IP write timeout
#define | NE_FLM_SOCKET_ALREADY_CLOSED 0xC90D
| 0xC90D - Connection already closed
#define | FLM_US_LANG 0
| English, United States.
#define | FLM_AF_LANG 1
| Afrikaans.
#define | FLM_AR_LANG 2
| Arabic.
#define | FLM_CA_LANG 3
| Catalan.
#define | FLM_HR_LANG 4
| Croatian.
#define | FLM_CZ_LANG 5
| Czech.
#define | FLM_DK_LANG 6
| Danish.
#define | FLM_NL_LANG 7
| Dutch.
#define | FLM_OZ_LANG 8
| English, Australia.
#define | FLM_CE_LANG 9
| English, Canada.
#define | FLM_UK_LANG 10
| English, United Kingdom.
#define | FLM_FA_LANG 11
| Farsi.
#define | FLM_SU_LANG 12
| Finnish.
#define | FLM_CF_LANG 13
| French, Canada.
#define | FLM_FR_LANG 14
| French, France.
#define | FLM_GA_LANG 15
| Galician.
#define | FLM_DE_LANG 16
| German, Germany.
#define | FLM_SD_LANG 17
| German, Switzerland.
#define | FLM_GR_LANG 18
| Greek.
#define | FLM_HE_LANG 19
| Hebrew.
#define | FLM_HU_LANG 20
| Hungarian.
#define | FLM_IS_LANG 21
| Icelandic.
#define | FLM_IT_LANG 22
| Italian.
#define | FLM_NO_LANG 23
| Norwegian.
#define | FLM_PL_LANG 24
| Polish.
#define | FLM_BR_LANG 25
| Portuguese, Brazil.
#define | FLM_PO_LANG 26
| Portuguese, Portugal.
#define | FLM_RU_LANG 27
| Russian.
#define | FLM_SL_LANG 28
| Slovak.
#define | FLM_ES_LANG 29
| Spanish.
#define | FLM_SV_LANG 30
| Swedish.
#define | FLM_YK_LANG 31
| Ukrainian.
#define | FLM_UR_LANG 32
| Urdu.
#define | FLM_TK_LANG 33
| Turkey.
#define | FLM_JP_LANG 34
| Japanese.
#define | FLM_KO_LANG 35
| Korean.
#define | FLM_CT_LANG 36
| Chinese-Traditional.
#define | FLM_CS_LANG 37
| Chinese-Simplified.
#define | FLM_LA_LANG 38
| another Asian language
#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_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_DASHES 0x0010
| 0x0010 = Ignore all dash characters 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_TRAILING_SPACE 0x0080
| 0x0080 = Ignore trailing space characters during comparison.
## Typedefs
typedef FLMINT32 | RCODE
| Return code.
## Enumerations
enum | eColorType { FLM_BLACK = 0, FLM_BLUE, FLM_GREEN, FLM_CYAN, FLM_RED, FLM_MAGENTA, FLM_BROWN, FLM_LIGHTGRAY, FLM_DARKGRAY, FLM_LIGHTBLUE, FLM_LIGHTGREEN, FLM_LIGHTCYAN, FLM_LIGHTRED, FLM_LIGHTMAGENTA, FLM_YELLOW, FLM_WHITE }
| Colors used for logging messages. More...
enum | eLogMessageSeverity { F_FATAL_MESSAGE = 0, F_WARN_MESSAGE, F_ERR_MESSAGE, F_INFO_MESSAGE, F_DEBUG_MESSAGE }
| Message severity. More...
enum | eLockType { , FLM_LOCK_EXCLUSIVE, FLM_LOCK_SHARED }
| Types of locks that may be requested. More...
## Functions
virtual void FLMAPI | appendString (const char *pszStr)=0
| Append a string to the message.
virtual void FLMAPI | newline (void)=0
| Append a newline to the message.
virtual void FLMAPI | endMessage (void)=0
| End the current message.
FLMUINT FLMAPI | f_languageToNum (const char *pszLanguage)
| Get the language string from a language code.
void FLMAPI | f_languageToStr (FLMINT iLangNum, char *pszLanguage)
| Convert a language string to the appropriate language code.
virtual FLMBOOL FLMAPI | addLockInfo (FLMUINT uiLockNum, FLMUINT uiThreadID, FLMUINT uiTime)=0
| Return lock information for a lock holder or waiter.

## Detailed Description

## Enumeration Type Documentation

enum eColorType

  | Colors used for logging messages. Enumerator:
  FLM_BLACK | 0 = Black
  FLM_BLUE | 1 = Blue
  FLM_GREEN | 2 = Green
  FLM_CYAN | 3 = Cyan
  FLM_RED | 4 = Red
  FLM_MAGENTA | 5 = Magenta
  FLM_BROWN | 6 = Brown
  FLM_LIGHTGRAY | 7 = Light Gray
  FLM_DARKGRAY | 8 = Dark Gray
  FLM_LIGHTBLUE | 9 = Light Blue
  FLM_LIGHTGREEN | 10 = Light Green
  FLM_LIGHTCYAN | 11 = Light Cyan
  FLM_LIGHTRED | 12 = Light Red
  FLM_LIGHTMAGENTA | 13 = Light Magenta
  FLM_YELLOW | 14 = Light Yellow
  FLM_WHITE | 15 = White

enum eLockType

  | Types of locks that may be requested. Enumerator:
  FLM_LOCK_EXCLUSIVE | 1 = Exclusive lock.
  FLM_LOCK_SHARED | 2 = Shared lock.

enum eLogMessageSeverity

  | Message severity. Enumerator:
  F_FATAL_MESSAGE | Indicates that a fatal error occurred - the kind that would normally require a shutdown or other corrective action by an administrator.
  F_WARN_MESSAGE | Warning message.
  F_ERR_MESSAGE | Non-fatal error message.
  F_INFO_MESSAGE | Information-only message.
  F_DEBUG_MESSAGE | Debug message.

## Function Documentation

virtual FLMBOOL FLMAPI addLockInfo | ( | FLMUINT | uiLockNum,
|  | FLMUINT | uiThreadID,
|  | FLMUINT | uiTime
| ) | `[pure virtual]`

  | Return lock information for a lock holder or waiter. This method is called for each thread that is either holding the lock or waiting to obtain the lock. The application should return TRUE from this method in order to continue, FALSE if it wants to stop and return from the IF_LockObject::getLockInfo() function. Parameters:
  uiLockNum | Position in queue (0 = lock holder, 1..n = lock waiter).
  uiThreadID | Thread ID of the lock holder/waiter.
  uiTime | For the lock holder, this is the amount of time the lock has been held. For a lock waiter, this is the amount of time the thread has been waiting to obtain the lock. Both times are milliseconds.

virtual void FLMAPI appendString | ( | const char * | pszStr | ) | `[pure virtual]`

| Append a string to the message. This method may be called multiple times by to format a complete message. The message is not complete until the endMessage() method is called.

virtual void FLMAPI endMessage | ( | void |  | ) | `[pure virtual]`

| End the current message. The application should finish logging, displaying, storing, etc. (whatever) the message. The object should be reset in case a new message is subsequently started.

void FLMAPI f_languageToStr | ( | FLMINT | iLangNum,
|  | char * | pszLanguage
| ) |

  | Convert a language string to the appropriate language code. Parameters:
  pszLanguage | Language string that is to be converted to a code.

virtual void FLMAPI newline | ( | void |  | ) | `[pure virtual]`

| Append a newline to the message. This method is called when a multi-line message is being created. Rather than embedding a newline character, this method is used. This allows an application to recognize the fact that there are multiple lines in the message and to log, display, store, etc. (whatever) them accordingly.