ftsiface.h 4.9 KB

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