1 #ifndef MC__SEARCH_INTERNAL_H
2 #define MC__SEARCH_INTERNAL_H
3
4
5
6
7
8 typedef enum
9 {
10 COND__NOT_FOUND,
11 COND__NOT_ALL_FOUND,
12 COND__FOUND_CHAR,
13 COND__FOUND_CHAR_LAST,
14 COND__FOUND_OK,
15 COND__FOUND_ERROR
16 } mc_search__found_cond_t;
17
18
19
20 typedef struct mc_search_cond_struct
21 {
22 GString *str;
23 GString *upper;
24 GString *lower;
25 GRegex *regex_handle;
26 gchar *charset;
27 } mc_search_cond_t;
28
29
30
31
32
33
34
35 GString *mc_search__recode_str (const char *str, gsize str_len, const char *charset_from,
36 const char *charset_to);
37 GString *mc_search__get_one_symbol (const char *charset, const char *str, gsize str_len,
38 gboolean *just_letters);
39 GString *mc_search__tolower_case_str (const char *charset, const GString *str);
40 GString *mc_search__toupper_case_str (const char *charset, const GString *str);
41
42
43
44 void mc_search__cond_struct_new_init_regex (const char *charset, mc_search_t *lc_mc_search,
45 mc_search_cond_t *mc_search_cond);
46 gboolean mc_search__run_regex (mc_search_t *lc_mc_search, const void *user_data, off_t start_search,
47 off_t end_search, gsize *found_len);
48 GString *mc_search_regex_prepare_replace_str (mc_search_t *lc_mc_search, GString *replace_str);
49
50
51
52 void mc_search__cond_struct_new_init_normal (const char *charset, mc_search_t *lc_mc_search,
53 mc_search_cond_t *mc_search_cond);
54 gboolean mc_search__run_normal (mc_search_t *lc_mc_search, const void *user_data,
55 off_t start_search, off_t end_search, gsize *found_len);
56 GString *mc_search_normal_prepare_replace_str (mc_search_t *lc_mc_search, GString *replace_str);
57
58
59
60 void mc_search__cond_struct_new_init_glob (const char *charset, mc_search_t *lc_mc_search,
61 mc_search_cond_t *mc_search_cond);
62 gboolean mc_search__run_glob (mc_search_t *lc_mc_search, const void *user_data, off_t start_search,
63 off_t end_search, gsize *found_len);
64 GString *mc_search_glob_prepare_replace_str (mc_search_t *lc_mc_search, GString *replace_str);
65
66
67
68 void mc_search__cond_struct_new_init_hex (const char *charset, mc_search_t *lc_mc_search,
69 mc_search_cond_t *mc_search_cond);
70 gboolean mc_search__run_hex (mc_search_t *lc_mc_search, const void *user_data, off_t start_search,
71 off_t end_search, gsize *found_len);
72 GString *mc_search_hex_prepare_replace_str (mc_search_t *lc_mc_search, GString *replace_str);
73
74
75
76 #endif