| 1 | /** | 
 
 
 
 
 | 2 | * This file has no copyright assigned and is placed in the Public Domain. | 
 
 
 
 
 | 3 | * This file is part of the mingw-w64 runtime package. | 
 
 
 
 
 | 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
 
 
 
 
 | 5 | */ | 
 
 
 
 
 | 6 | #ifndef __FTSIFACE_H__ | 
 
 
 
 
 | 7 | #define __FTSIFACE_H__ | 
 
 
 
 
 | 8 |  | 
 
 
 
 
 | 9 | #ifdef __cplusplus | 
 
 
 
 
 | 10 | extern "C" { | 
 
 
 
 
 | 11 | #endif | 
 
 
 
 
 | 12 |  | 
 
 
 
 
 | 13 | typedef HANDLE HINDEX; | 
 
 
 
 
 | 14 | typedef HANDLE HSEARCHER; | 
 
 
 
 
 | 15 | typedef HANDLE HCOMPRESSOR; | 
 
 
 
 
 | 16 | typedef HANDLE HHILITER; | 
 
 
 
 
 | 17 | typedef INT ERRORCODE; | 
 
 
 
 
 | 18 | typedef struct { int base; int limit; } HILITE; | 
 
 
 
 
 | 19 |  | 
 
 
 
 
 | 20 | #define NO_TITLE UINT(-1) | 
 
 
 
 
 | 21 | #define NOT_INDEXER UINT(-2) | 
 
 
 
 
 | 22 | #define NOT_SEARCHER UINT(-3) | 
 
 
 
 
 | 23 | #define NOT_COMPRESSOR UINT(-4) | 
 
 
 
 
 | 24 | #define CANNOT_SAVE UINT(-5) | 
 
 
 
 
 | 25 | #define OUT_OF_MEMORY UINT(-6) | 
 
 
 
 
 | 26 | #define CANNOT_OPEN UINT(-7) | 
 
 
 
 
 | 27 | #define CANNOT_LOAD UINT(-8) | 
 
 
 
 
 | 28 | #define INVALID_INDEX UINT(-9) | 
 
 
 
 
 | 29 | #define ALREADY_WEIGHED UINT(-10) | 
 
 
 
 
 | 30 | #define NO_TEXT_SCANNED UINT(-11) | 
 
 
 
 
 | 31 | #define ALIGNMENT_ERROR UINT(-12) | 
 
 
 
 
 | 32 | #define INVALID_PHRASE_TABLE UINT(-13) | 
 
 
 
 
 | 33 | #define INVALID_LCID UINT(-14) | 
 
 
 
 
 | 34 | #define NO_INDICES_LOADED UINT(-15) | 
 
 
 
 
 | 35 | #define INDEX_LOADED_ALREADY UINT(-16) | 
 
 
 
 
 | 36 | #define GROUP_LOADED_ALREADY UINT(-17) | 
 
 
 
 
 | 37 | #define DIALOG_ALREADY_ACTIVE UINT(-18) | 
 
 
 
 
 | 38 | #define EMPTY_PHRASE_TABLE UINT(-19) | 
 
 
 
 
 | 39 | #define OUT_OF_DISK UINT(-20) | 
 
 
 
 
 | 40 | #define DISK_READ_ERROR UINT(-21) | 
 
 
 
 
 | 41 | #define DISK_WRITE_ERROR UINT(-22) | 
 
 
 
 
 | 42 | #define SEARCH_ABORTED UINT(-23) | 
 
 
 
 
 | 43 | #define UNKNOWN_EXCEPTION UINT(-24) | 
 
 
 
 
 | 44 | #define SYSTEM_ERROR UINT(-25) | 
 
 
 
 
 | 45 | #define NOT_HILITER UINT(-26) | 
 
 
 
 
 | 46 | #define INVALID_CHARSET UINT(-27) | 
 
 
 
 
 | 47 | #define INVALID_SOURCE_NAME UINT(-28) | 
 
 
 
 
 | 48 | #define INVALID_TIMESTAMP UINT(-29) | 
 
 
 
 
 | 49 |  | 
 
 
 
 
 | 50 | #define ERR_NO_DISK_SPACE 0xE0000001 | 
 
 
 
 
 | 51 | #define ERR_DISK_CREATE_ERROR 0xE0000002 | 
 
 
 
 
 | 52 | #define ERR_DISK_OPEN_ERROR 0xE0000003 | 
 
 
 
 
 | 53 | #define ERR_DISK_READ_ERROR 0xE0000004 | 
 
 
 
 
 | 54 | #define ERR_DISK_WRITE_ERROR 0xE0000005 | 
 
 
 
 
 | 55 | #define ERR_SYSTEM_ERROR 0xE0000006 | 
 
 
 
 
 | 56 | #define ERR_ABORT_SEARCH 0xE0000007 | 
 
 
 
 
 | 57 | #define ERR_INVALID_TIMESTAMP 0xE0000008 | 
 
 
 
 
 | 58 | #define ERR_INVALID_SOURCE_NAME 0xE0000009 | 
 
 
 
 
 | 59 | #define ERR_FILE_MAP_FAILED 0xE000000A | 
 
 
 
 
 | 60 | #define ERR_INVALID_FILE_TYPE 0xE000000B | 
 
 
 
 
 | 61 | #define ERR_DAMAGED_FILE 0xE000000C | 
 
 
 
 
 | 62 | #define ERR_FUTURE_VERSION 0xE000000D | 
 
 
 
 
 | 63 |  | 
 
 
 
 
 | 64 | #define TOPIC_SEARCH 0x00000001 | 
 
 
 
 
 | 65 | #define PHRASE_SEARCH 0x00000002 | 
 
 
 
 
 | 66 | #define PHRASE_FEEDBACK 0x00000004 | 
 
 
 
 
 | 67 | #define VECTOR_SEARCH 0x00000008 | 
 
 
 
 
 | 68 | #define WINHELP_INDEX 0x00000010 | 
 
 
 
 
 | 69 | #define USE_VA_ADDR 0x00000020 | 
 
 
 
 
 | 70 | #define USE_QWORD_JUMP 0x00000040 | 
 
 
 
 
 | 71 |  | 
 
 
 
 
 | 72 | #define USE_DEFAULT UINT(-1) | 
 
 
 
 
 | 73 |  | 
 
 
 
 
 | 74 | HINDEX WINAPI NewIndex(const PBYTE pbSourceName,UINT uiTime1,UINT uiTime2,UINT iCharsetDefault,UINT lcidDefault,UINT fdwOptions); | 
 
 
 
 
 | 75 | ERRORCODE WINAPI ScanTopicTitle(HINDEX hinx,PBYTE pbTitle,UINT cbTitle,UINT iTopic,HANDLE hTopic,UINT iCharset,UINT lcid); | 
 
 
 
 
 | 76 | ERRORCODE WINAPI ScanTopicText (HINDEX hinx,PBYTE pbText,UINT cbText,UINT iCharset,UINT lcid); | 
 
 
 
 
 | 77 | ERRORCODE WINAPI SaveIndex (HINDEX hinx,PSZ pszFileName); | 
 
 
 
 
 | 78 | ERRORCODE WINAPI DeleteIndex (HINDEX hinx); | 
 
 
 
 
 | 79 |  | 
 
 
 
 
 | 80 | typedef void (WINAPI *ANIMATOR)(void); | 
 
 
 
 
 | 81 |  | 
 
 
 
 
 | 82 | ERRORCODE WINAPI RegisterAnimator(ANIMATOR pAnimator,HWND hwndAnimator); | 
 
 
 
 
 | 83 | WINBOOL WINAPI IsValidIndex(PSZ pszFileName,UINT dwOptions); | 
 
 
 
 
 | 84 | void WINAPI SetDirectoryLocator(HWND hwndLocator); | 
 
 
 
 
 | 85 | HSEARCHER WINAPI NewSearcher(); | 
 
 
 
 
 | 86 | INT WINAPI OpenIndex(HSEARCHER hsrch,PSZ pszIndexFileName,PBYTE pbSourceName,PUINT pcbSourceNameLimit,PUINT pTime1,PUINT pTime2); | 
 
 
 
 
 | 87 | ERRORCODE WINAPI DiscardIndex (HSEARCHER hsrch,INT iIndex); | 
 
 
 
 
 | 88 | ERRORCODE WINAPI QueryOptions (HSEARCHER hsrch,INT iIndex,PUINT pfdwOptions); | 
 
 
 
 
 | 89 | ERRORCODE WINAPI SaveGroup (HSEARCHER hsrch,PSZ pszFileName); | 
 
 
 
 
 | 90 | ERRORCODE WINAPI LoadGroup (HSEARCHER hsrch,PSZ pszFileName); | 
 
 
 
 
 | 91 | HWND WINAPI OpenDialog (HSEARCHER hsrch,HWND hwndParent); | 
 
 
 
 
 | 92 | ERRORCODE WINAPI DeleteSearcher(HSEARCHER hsrch); | 
 
 
 
 
 | 93 |  | 
 
 
 
 
 | 94 | #define MSG_FTS_JUMP_HASH (WM_USER + 32) | 
 
 
 
 
 | 95 | #define MSG_FTS_JUMP_VA (WM_USER + 33) | 
 
 
 
 
 | 96 | #define MSG_FTS_GET_TITLE (WM_USER + 34) | 
 
 
 
 
 | 97 | #define MSG_FTS_JUMP_QWORD (WM_USER + 35) | 
 
 
 
 
 | 98 | #define MSG_REINDEX_REQUEST (WM_USER + 36) | 
 
 
 
 
 | 99 | #define MSG_FTS_WHERE_IS_IT (WM_USER + 37) | 
 
 
 
 
 | 100 | #define MSG_GET_DEFFONT (WM_USER + 45) | 
 
 
 
 
 | 101 |  | 
 
 
 
 
 | 102 | typedef struct _QWordAddress { | 
 
 
 
 
 | 103 | UINT iSerial; | 
 
 
 
 
 | 104 | HANDLE hTopic; | 
 
 
 
 
 | 105 | } QWordAddress,*PQWordAddress; | 
 
 
 
 
 | 106 |  | 
 
 
 
 
 | 107 | HCOMPRESSOR WINAPI NewCompressor(UINT iCharsetDefault); | 
 
 
 
 
 | 108 | ERRORCODE WINAPI ScanText(HCOMPRESSOR hcmp,PBYTE pbText,UINT cbText,UINT iCharset); | 
 
 
 
 
 | 109 | ERRORCODE WINAPI GetPhraseTable(HCOMPRESSOR hcmp,PUINT pcPhrases,PBYTE *ppbImages,PUINT pcbImages,PBYTE *ppacbImageCompressed,PUINT pcbCompressed); | 
 
 
 
 
 | 110 | ERRORCODE WINAPI SetPhraseTable(HCOMPRESSOR hcmp,PBYTE pbImages,UINT cbImages,PBYTE pacbImageCompressed,UINT cbCompressed); | 
 
 
 
 
 | 111 | INT WINAPI CompressText (HCOMPRESSOR hcmp,PBYTE pbText,UINT cbText,PBYTE *ppbCompressed,UINT iCharset); | 
 
 
 
 
 | 112 | INT WINAPI DecompressText(HCOMPRESSOR hcmp,PBYTE pbCompressed,UINT cbCompressed,PBYTE pbText); | 
 
 
 
 
 | 113 | ERRORCODE WINAPI DeleteCompressor(HCOMPRESSOR hcmp); | 
 
 
 
 
 | 114 | HHILITER WINAPI NewHiliter(HSEARCHER hSearch); | 
 
 
 
 
 | 115 | ERRORCODE WINAPI DeleteHiliter(HHILITER hhil); | 
 
 
 
 
 | 116 | ERRORCODE WINAPI ScanDisplayText(HHILITER hhil,PBYTE pbText,int cbText,UINT iCharset,LCID lcid); | 
 
 
 
 
 | 117 | ERRORCODE WINAPI ClearDisplayText(HHILITER hhil); | 
 
 
 
 
 | 118 | int WINAPI CountHilites(HHILITER hhil,int base,int limit); | 
 
 
 
 
 | 119 | int WINAPI QueryHilites(HHILITER hhil,int base,int limit,int cHilites,HILITE *paHilites); | 
 
 
 
 
 | 120 |  | 
 
 
 
 
 | 121 | #ifdef __cplusplus | 
 
 
 
 
 | 122 | } | 
 
 
 
 
 | 123 | #endif | 
 
 
 
 
 | 124 | #endif |