summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/ftsiface.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--public/sdk/inc/ftsiface.h167
1 files changed, 167 insertions, 0 deletions
diff --git a/public/sdk/inc/ftsiface.h b/public/sdk/inc/ftsiface.h
new file mode 100644
index 000000000..52cd46e06
--- /dev/null
+++ b/public/sdk/inc/ftsiface.h
@@ -0,0 +1,167 @@
+// FTSIFACE.h -- DLL interface for FTSrch.dll
+
+#ifndef __FTSIFACE_H__
+#define __FTSIFACE_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+
+
+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) // ERRORCODE values
+#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 // Values reported by GetLastError
+#define ERR_DISK_CREATE_ERROR 0xE0000002 // when an explicit error result
+#define ERR_DISK_OPEN_ERROR 0xE0000003 // isn't available.
+#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
+
+// -------------- Index Construction Interface ---------------------------
+
+#define TOPIC_SEARCH 0x00000001 // Options for NewIndex
+#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) // Surrogate for default charset or default lcid
+
+HINDEX APIENTRY NewIndex(const PBYTE pbSourceName,
+ UINT uiTime1, UINT uiTime2,
+ UINT iCharsetDefault, UINT lcidDefault, UINT fdwOptions
+ );
+
+ERRORCODE APIENTRY ScanTopicTitle(HINDEX hinx, PBYTE pbTitle, UINT cbTitle,
+ UINT iTopic, HANDLE hTopic, UINT iCharset, UINT lcid
+ );
+ERRORCODE APIENTRY ScanTopicText (HINDEX hinx, PBYTE pbText, UINT cbText, UINT iCharset, UINT lcid);
+ERRORCODE APIENTRY SaveIndex (HINDEX hinx, PSZ pszFileName);
+ERRORCODE APIENTRY DeleteIndex (HINDEX hinx);
+
+typedef void (__stdcall *ANIMATOR)(void);
+
+ERRORCODE APIENTRY RegisterAnimator(ANIMATOR pAnimator, HWND hwndAnimator);
+
+// ----------------- Querying the Validity of an Index File --------------
+
+BOOL APIENTRY IsValidIndex(PSZ pszFileName, UINT dwOptions);
+
+void APIENTRY SetDirectoryLocator(HWND hwndLocator);
+
+// ----------------- Searcher Interface ----------------------------------
+
+HSEARCHER APIENTRY NewSearcher();
+
+INT APIENTRY OpenIndex(HSEARCHER hsrch, PSZ pszIndexFileName, // returns iIndex for index file
+ PBYTE pbSourceName, PUINT pcbSourceNameLimit, // or -ErrorCode
+ PUINT pTime1, PUINT pTime2
+ );
+
+ERRORCODE APIENTRY DiscardIndex (HSEARCHER hsrch, INT iIndex);
+ERRORCODE APIENTRY QueryOptions (HSEARCHER hsrch, INT iIndex, PUINT pfdwOptions);
+ERRORCODE APIENTRY SaveGroup (HSEARCHER hsrch, PSZ pszFileName);
+ERRORCODE APIENTRY LoadGroup (HSEARCHER hsrch, PSZ pszFileName);
+HWND APIENTRY OpenDialog (HSEARCHER hsrch, HWND hwndParent);
+ERRORCODE APIENTRY DeleteSearcher(HSEARCHER hsrch);
+
+// Messages for talking to WinHelp
+
+#define MSG_FTS_JUMP_HASH (WM_USER + 32) // wParam = index, lParam = HashValue
+#define MSG_FTS_JUMP_VA (WM_USER + 33) // wParam = index, lParam = VirtualAddress
+#define MSG_FTS_GET_TITLE (WM_USER + 34) // wParam = index, lParam = &pszTitle
+#define MSG_FTS_JUMP_QWORD (WM_USER + 35) // wParam = index, lParam = address of QWordAddress structure
+#define MSG_REINDEX_REQUEST (WM_USER + 36) // wParam = unused,lParam = unused
+#define MSG_FTS_WHERE_IS_IT (WM_USER + 37) // wParam = fStartEnumeration, lParam = &pszFile
+#define MSG_GET_DEFFONT (WM_USER + 45) // return default font handle
+
+typedef struct _QWordAddress
+ {
+ UINT iSerial;
+ HANDLE hTopic;
+
+ } QWordAddress, *PQWordAddress;
+
+// ------------------- Phrase Compression Interface ----------------------
+
+HCOMPRESSOR APIENTRY NewCompressor(UINT iCharsetDefault);
+
+ERRORCODE APIENTRY ScanText(HCOMPRESSOR hcmp, PBYTE pbText, UINT cbText, UINT iCharset);
+
+ERRORCODE APIENTRY GetPhraseTable(HCOMPRESSOR hcmp, PUINT pcPhrases, PBYTE *ppbImages, PUINT pcbImages,
+ PBYTE *ppacbImageCompressed, PUINT pcbCompressed
+ );
+
+ERRORCODE APIENTRY SetPhraseTable(HCOMPRESSOR hcmp, PBYTE pbImages, UINT cbImages,
+ PBYTE pacbImageCompressed, UINT cbCompressed
+ );
+
+INT APIENTRY CompressText (HCOMPRESSOR hcmp, PBYTE pbText, UINT cbText, PBYTE *ppbCompressed, UINT iCharset);
+INT APIENTRY DecompressText(HCOMPRESSOR hcmp, PBYTE pbCompressed, UINT cbCompressed, PBYTE pbText );
+
+ERRORCODE APIENTRY DeleteCompressor(HCOMPRESSOR hcmp);
+
+//----------------------- Hiliting Interface ------------------------------
+
+HHILITER APIENTRY NewHiliter(HSEARCHER hSearch);
+ERRORCODE APIENTRY DeleteHiliter(HHILITER hhil);
+ERRORCODE APIENTRY ScanDisplayText(HHILITER hhil, PBYTE pbText, int cbText,
+ UINT iCharset, LCID lcid);
+
+ERRORCODE APIENTRY ClearDisplayText(HHILITER hhil);
+int APIENTRY CountHilites(HHILITER hhil, int base, int limit);
+int APIENTRY QueryHilites(HHILITER hhil, int base, int limit,
+ int cHilites, HILITE* paHilites);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+
+
+#endif // __FTSIFACE_H__