1 /******************************************************************************
2 *
3 * Copyright (C) 2006, The Gentee Group. All rights reserved.
4 * This file is part of the Gentee open source project <http://www.gentee.com>.
5 *
6 * THIS FILE IS PROVIDED UNDER THE TERMS OF THE GENTEE LICENSE ("AGREEMENT").
7 * ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE CONSTITUTES RECIPIENTS
8 * ACCEPTANCE OF THE AGREEMENT.
9 *
10 * search 20.04.2007 0.0.A.
11 *
12 * Author:
13 *
14 ******************************************************************************/
15
16 #ifndef _SEARCH_
17 #define _SEARCH_
18
19 #include "../common/types.h"
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif // __cplusplus
24
25 //--------------------------------------------------------------------------
26
27 #define QS_IGNCASE 0x0001 // Игнорировать регистр
28 #define QS_WORD 0x0002 // Искать слово
29 #define QS_BEGINWORD 0x0004 // Искать начало слова
30
31 typedef struct search_tag
32 {
33 pubyte pattern; // Указатель на длинный шаблон
34 uint size; // Размер шаблона
35 uint shift[ ABC_COUNT ]; // Массив смещений
36 uint flag; // Флаги
37 } ssearch, * pssearch;
38
39 void STDCALL qs_init( pssearch psearch, pubyte pattern, uint m, uint flag );
40 uint STDCALL qs_search( pssearch psearch, pubyte y, uint n );
41
42 //--------------------------------------------------------------------------
43
44 #ifdef __cplusplus
45 }
46 #endif // __cplusplus
47
48 #endif // _SEARCH_
49