| /** |
| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is part of the mingw-w64 runtime package. |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| */ |
| #ifndef __FTSIFACE_H__ |
| #define __FTSIFACE_H__ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| typedef HANDLE HINDEX; |
| typedef HANDLE HSEARCHER; |
| typedef HANDLE HCOMPRESSOR; |
| typedef HANDLE HHILITER; |
| typedef INT ERRORCODE; |
| typedef struct { int base; int limit; } HILITE; |
| |
| #define NO_TITLE UINT(-1) |
| #define NOT_INDEXER UINT(-2) |
| #define NOT_SEARCHER UINT(-3) |
| #define NOT_COMPRESSOR UINT(-4) |
| #define CANNOT_SAVE UINT(-5) |
| #define OUT_OF_MEMORY UINT(-6) |
| #define CANNOT_OPEN UINT(-7) |
| #define CANNOT_LOAD UINT(-8) |
| #define INVALID_INDEX UINT(-9) |
| #define ALREADY_WEIGHED UINT(-10) |
| #define NO_TEXT_SCANNED UINT(-11) |
| #define ALIGNMENT_ERROR UINT(-12) |
| #define INVALID_PHRASE_TABLE UINT(-13) |
| #define INVALID_LCID UINT(-14) |
| #define NO_INDICES_LOADED UINT(-15) |
| #define INDEX_LOADED_ALREADY UINT(-16) |
| #define GROUP_LOADED_ALREADY UINT(-17) |
| #define DIALOG_ALREADY_ACTIVE UINT(-18) |
| #define EMPTY_PHRASE_TABLE UINT(-19) |
| #define OUT_OF_DISK UINT(-20) |
| #define DISK_READ_ERROR UINT(-21) |
| #define DISK_WRITE_ERROR UINT(-22) |
| #define SEARCH_ABORTED UINT(-23) |
| #define UNKNOWN_EXCEPTION UINT(-24) |
| #define SYSTEM_ERROR UINT(-25) |
| #define NOT_HILITER UINT(-26) |
| #define INVALID_CHARSET UINT(-27) |
| #define INVALID_SOURCE_NAME UINT(-28) |
| #define INVALID_TIMESTAMP UINT(-29) |
| |
| #define ERR_NO_DISK_SPACE 0xE0000001 |
| #define ERR_DISK_CREATE_ERROR 0xE0000002 |
| #define ERR_DISK_OPEN_ERROR 0xE0000003 |
| #define ERR_DISK_READ_ERROR 0xE0000004 |
| #define ERR_DISK_WRITE_ERROR 0xE0000005 |
| #define ERR_SYSTEM_ERROR 0xE0000006 |
| #define ERR_ABORT_SEARCH 0xE0000007 |
| #define ERR_INVALID_TIMESTAMP 0xE0000008 |
| #define ERR_INVALID_SOURCE_NAME 0xE0000009 |
| #define ERR_FILE_MAP_FAILED 0xE000000A |
| #define ERR_INVALID_FILE_TYPE 0xE000000B |
| #define ERR_DAMAGED_FILE 0xE000000C |
| #define ERR_FUTURE_VERSION 0xE000000D |
| |
| #define TOPIC_SEARCH 0x00000001 |
| #define PHRASE_SEARCH 0x00000002 |
| #define PHRASE_FEEDBACK 0x00000004 |
| #define VECTOR_SEARCH 0x00000008 |
| #define WINHELP_INDEX 0x00000010 |
| #define USE_VA_ADDR 0x00000020 |
| #define USE_QWORD_JUMP 0x00000040 |
| |
| #define USE_DEFAULT UINT(-1) |
| |
| HINDEX WINAPI NewIndex(const PBYTE pbSourceName,UINT uiTime1,UINT uiTime2,UINT iCharsetDefault,UINT lcidDefault,UINT fdwOptions); |
| ERRORCODE WINAPI ScanTopicTitle(HINDEX hinx,PBYTE pbTitle,UINT cbTitle,UINT iTopic,HANDLE hTopic,UINT iCharset,UINT lcid); |
| ERRORCODE WINAPI ScanTopicText (HINDEX hinx,PBYTE pbText,UINT cbText,UINT iCharset,UINT lcid); |
| ERRORCODE WINAPI SaveIndex (HINDEX hinx,PSZ pszFileName); |
| ERRORCODE WINAPI DeleteIndex (HINDEX hinx); |
| |
| typedef void (WINAPI *ANIMATOR)(void); |
| |
| ERRORCODE WINAPI RegisterAnimator(ANIMATOR pAnimator,HWND hwndAnimator); |
| WINBOOL WINAPI IsValidIndex(PSZ pszFileName,UINT dwOptions); |
| void WINAPI SetDirectoryLocator(HWND hwndLocator); |
| HSEARCHER WINAPI NewSearcher(); |
| INT WINAPI OpenIndex(HSEARCHER hsrch,PSZ pszIndexFileName,PBYTE pbSourceName,PUINT pcbSourceNameLimit,PUINT pTime1,PUINT pTime2); |
| ERRORCODE WINAPI DiscardIndex (HSEARCHER hsrch,INT iIndex); |
| ERRORCODE WINAPI QueryOptions (HSEARCHER hsrch,INT iIndex,PUINT pfdwOptions); |
| ERRORCODE WINAPI SaveGroup (HSEARCHER hsrch,PSZ pszFileName); |
| ERRORCODE WINAPI LoadGroup (HSEARCHER hsrch,PSZ pszFileName); |
| HWND WINAPI OpenDialog (HSEARCHER hsrch,HWND hwndParent); |
| ERRORCODE WINAPI DeleteSearcher(HSEARCHER hsrch); |
| |
| #define MSG_FTS_JUMP_HASH (WM_USER + 32) |
| #define MSG_FTS_JUMP_VA (WM_USER + 33) |
| #define MSG_FTS_GET_TITLE (WM_USER + 34) |
| #define MSG_FTS_JUMP_QWORD (WM_USER + 35) |
| #define MSG_REINDEX_REQUEST (WM_USER + 36) |
| #define MSG_FTS_WHERE_IS_IT (WM_USER + 37) |
| #define MSG_GET_DEFFONT (WM_USER + 45) |
| |
| typedef struct _QWordAddress { |
| UINT iSerial; |
| HANDLE hTopic; |
| } QWordAddress,*PQWordAddress; |
| |
| HCOMPRESSOR WINAPI NewCompressor(UINT iCharsetDefault); |
| ERRORCODE WINAPI ScanText(HCOMPRESSOR hcmp,PBYTE pbText,UINT cbText,UINT iCharset); |
| ERRORCODE WINAPI GetPhraseTable(HCOMPRESSOR hcmp,PUINT pcPhrases,PBYTE *ppbImages,PUINT pcbImages,PBYTE *ppacbImageCompressed,PUINT pcbCompressed); |
| ERRORCODE WINAPI SetPhraseTable(HCOMPRESSOR hcmp,PBYTE pbImages,UINT cbImages,PBYTE pacbImageCompressed,UINT cbCompressed); |
| INT WINAPI CompressText (HCOMPRESSOR hcmp,PBYTE pbText,UINT cbText,PBYTE *ppbCompressed,UINT iCharset); |
| INT WINAPI DecompressText(HCOMPRESSOR hcmp,PBYTE pbCompressed,UINT cbCompressed,PBYTE pbText); |
| ERRORCODE WINAPI DeleteCompressor(HCOMPRESSOR hcmp); |
| HHILITER WINAPI NewHiliter(HSEARCHER hSearch); |
| ERRORCODE WINAPI DeleteHiliter(HHILITER hhil); |
| ERRORCODE WINAPI ScanDisplayText(HHILITER hhil,PBYTE pbText,int cbText,UINT iCharset,LCID lcid); |
| ERRORCODE WINAPI ClearDisplayText(HHILITER hhil); |
| int WINAPI CountHilites(HHILITER hhil,int base,int limit); |
| int WINAPI QueryHilites(HHILITER hhil,int base,int limit,int cHilites,HILITE *paHilites); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif |