windows-nt/Source/XPSP1/NT/enduser/stuff/itircl/fts/search/httpsrch.h

121 lines
4.1 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/* httpsrch.h */
//-----------------
// FULL TEXT SEARCH
//-----------------
// Variables used to echange information between server and client
#define FTS_DOWNLOAD \
LPBYTE lpTopicBuf; /* dest buffer for topics */ \
LPBYTE lpOccBuf; /* dest buffer for occurences */ \
DWORD dwTopicBsize; /* topic buffer size */ \
DWORD dwOccBsize; /* Occurence buffer size */ \
DWORD lcTotalNumOfTopics; /* The total number of topics returned */ \
DWORD lcReturnedTopics; /* The total number of topics the user wants to get returned */ \
DWORD lcDownloadedTopics; /* number of topics downloaded during the last request (HTTP) */ \
DWORD lcMaxTopic; /* Max TopicId number (internal) */ \
DWORD lcMaxDownloadedTopic;/* Max TopicId number downloaded (HTTP) */ \
DWORD lLastTopicId; /* Last accessed topicId */ \
DWORD dwStart; /* first topic in the list to download for current result window */ \
DWORD dwCount; /* how many topics to download for current result window & Offset in Occurence file (last) */ \
DWORD dwOccFileOffset
typedef struct _httpFTS_TAG
{
HANDLE hStruct; // handle on this structure MUST be first field
FTS_DOWNLOAD; // Client/Server info interface
/* Info related to the query */
HANDLE hTitle; // virtual handle on the client side
DWORD dwFlags;
HANDLE hStrQuery; // handle on the query string
LPCSTR lpstrQuery; // The Query
LPVOID lpGroup; // LPGROUP lpGroup,
WORD wNear;
WORD pad;
DWORD dwCountQ; // dwCount from the Query
LPVOID lpGroupHits;
// Global result for this query
DWORD dwGStart; // first topic in the list that has been downloaded from the beginning
DWORD dwGCount; // how many topics have been downloaded from the beginning
} HTTPQ, *LPHTTPQ;
// parameters downloaded by the server: This structure MUST
// match exactly the "Partial download variables Section"
// in the above HTTPQ structure declaration.
typedef struct _httpFTS_VARTAG
{
FTS_DOWNLOAD;
} VHTTPQ, *LPVHTTPQ;
#define DWNLD_TOPIC_SIZE 20000
#define DWNLD_OCC_SIZE 44000
// number of topics to download in a window of result
#define DWNLD_CNT 10
// comparison macros
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
#define ABS(x) ((x > 0) ? (x) : (-x))
//-----------------
// WORDWHEEL SEARCH
//-----------------
// Variables used to echange information between server and client
#define WWS_DOWNLOAD \
LPBYTE lpGroupDestBuf; /* dest buffer for the result group */ \
DWORD lcItemReturned; /* number of items returned till now */ \
DWORD lcTotalNumOfItem; /* The total number of Item */ \
DWORD lcDownloadedTopics; /* number of topics downloaded during the last request (HTTP) */ \
DWORD lcMaxTopic; /* Max TopicId number (internal) */ \
DWORD lcMaxDownloadedTopic;/* Max TopicId number downloaded (HTTP) */ \
DWORD lLastTopicId; /* Last accessed topicId */ \
DWORD dwStart; /* first topic in the list to download for current result window & how many topics to download for current result window & Offset in Occurence file (last) */ \
DWORD dwCount
typedef struct _httpWWS_TAG
{
HANDLE hStruct; // handle on this structure MUST be first field
WWS_DOWNLOAD; // Client/Server info interface
/* Info related to the query */
HANDLE hCww; // handle on client word wheel container
DWORD dwFlags;
HANDLE hStrQuery; // handle on the query string
LPCSTR lpstrQuery; // The Query
LPVOID lpGroup; // LPGROUP lpGroup,
DWORD dwCountQ; // dwCount from the Query
LPVOID lpGroupHits;
// Global result for this query
DWORD dwGStart; // first topic in the list that has been downloaded from the beginning
DWORD dwGCount; // how many topics have been downloaded from the beginning
} WW_HTTPQ, *LPWW_HTTPQ;
// parameters downloaded by the server: This structure MUST
// match exactly the "Partial download variables Section"
// in the above HTTPQ structure declaration.
typedef struct _httpWWS_VARTAG
{
WWS_DOWNLOAD;
} WW_VHTTPQ, *LPWW_VHTTPQ;