#ifndef SEARCH_H_INCLUDED #define SEARCH_H_INCLUDED /* $Id: search.h,v 1.1 1997/04/28 01:57:28 mb Exp mb $ * * Copyright (c) 1994-96 Martin Buck * Read COPYING for more information */ #include #include "vtxdecode.h" #define SEARCH_MAXRESULTS 100 /* The definition of search_image in xinit.c relies on the values of these defines! */ #define SEARCH_NOFOUND_BITMAPS 0 #define SEARCH_FOUND_BITMAPS 1 #define SEARCH_READ_BITMAPS 2 #define SEARCH_FG_BITMAPS 0 #define SEARCH_BG_BITMAPS 3 #define SEARCH_DISK_BITMAPS 6 typedef struct search_result_elem_s { int ofs, len; } search_result_elem_t; typedef struct search_result_s { int count, read; search_result_elem_t *match; byte_t pgbuf[VTX_PAGESIZE]; vtx_pageinfo_t pginf; } search_result_t; typedef struct search_data_s { char *str; unsigned case_sens : 1; unsigned is_regexp : 1; unsigned whole_words : 1; unsigned multi_line : 1; unsigned bell : 1; } search_data_t; typedef void (*search_notify_fn)(int, int); int search_page(const byte_t *pgbuf, const vtx_pageinfo_t *pginf, const search_data_t *dat, int level, const char **errmsg); int search_add_req(const search_data_t *dat, int fg, const char **errmsg); int search_rm_req(int reqid); void search_get_data(int reqid, search_data_t *data); int search_get_currimg(int reqid); int search_get_keep(int reqid); int search_get_fg(int reqid); void search_set_allread(int reqid); void search_set_keepreq(int reqid); void search_free_result(search_result_t **result); search_result_t **search_get_result(int reqid); void search_bg_newpage(const byte_t *buffer, const vtx_pageinfo_t *info, search_notify_fn notify_fn); #endif /* SEARCH_H_INCLUDED */