1 /***************************************************************************
2  *  Pinfo is a ncurses based lynx style info documentation browser
3  *
4  *  Copyright (C) 1999  Przemek Borys <pborys@dione.ids.pl>
5  *  Copyright (C) 2005  Bas Zoetekouw <bas@debian.org>
6  *
7  *  This program is free software; you can redistribute it and/or modify
8  *  it under the terms of version 2 of the GNU General Public License as
9  *  published by the Free Software Foundation.
10  *
11  *  This program is distributed in the hope that it will be useful, but
12  *  WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  *  General Public License for more details.
15  *
16  *  You should have received a copy of the GNU General Public License
17  *  along with this program; if not, write to the Free Software
18  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
19  *  USA
20  ***************************************************************************/
21 
22 #ifndef __PARSE_CONFIG_H
23 #define __PARSE_CONFIG_H
24 
25 #ifndef ___DONT_USE_REGEXP_SEARCH___
26 #include <regex.h>
27 #endif
28 
29 #define BOLD 1
30 #define NO_BOLD 0
31 #define BLINK 1
32 #define NO_BLINK 0
33 
34 typedef struct keybindings
35 {
36 	int totalsearch_1, totalsearch_2;
37 	int search_1, search_2;
38 	int goto_1, goto_2;
39 	int prevnode_1, prevnode_2;
40 	int nextnode_1, nextnode_2;
41 	int upnode_1, upnode_2;
42 	int up_1, up_2;
43 	int end_1, end_2;
44 	int pgdn_1, pgdn_2;
45 	int home_1, home_2;
46 	int pgup_1, pgup_2;
47 	int down_1, down_2;
48 	int top_1, top_2;
49 	int back_1, back_2;
50 	int followlink_1, followlink_2;
51 	int quit_1, quit_2;
52 	int refresh_1, refresh_2;
53 	int shellfeed_1, shellfeed_2;
54 	int dirpage_1, dirpage_2;
55 	int pgdn_auto_1, pgdn_auto_2;
56 	int pgup_auto_1, pgup_auto_2;
57 	int search_again_1, search_again_2;
58 	int goline_1, goline_2;
59 	int twoup_1, twoup_2;
60 	int twodown_1, twodown_2;
61 	int print_1, print_2;
62 	int left_1, left_2;
63 	int right_1, right_2;
64 }
65 keybindings;
66 
67 #ifdef HAVE_CURSES_COLOR
68 typedef struct colours
69 {
70 	int normal_fore, normal_back, normal_bold, normal_blink;
71 	int menuselected_fore, menuselected_back, menuselected_bold, menuselected_blink;
72 	int menu_fore, menu_back, menu_bold, menu_blink;
73 	int noteselected_fore, noteselected_back, noteselected_bold, noteselected_blink;
74 	int note_fore, note_back, note_bold, note_blink;
75 	int topline_fore, topline_back, topline_bold, topline_blink;
76 	int bottomline_fore, bottomline_back, bottomline_bold, bottomline_blink;
77 	int manualbold_fore, manualbold_back, manualbold_bold, manualbold_blink;
78 	int manualitalic_fore, manualitalic_back, manualitalic_bold, manualitalic_blink;
79 	int url_fore, url_back, url_bold, url_blink;
80 	int urlselected_fore, urlselected_back, urlselected_bold, urlselected_blink;
81 	int infohighlight_fore, infohighlight_back, infohighlight_bold, infohighlight_blink;
82 	int searchhighlight_fore, searchhighlight_back, searchhighlight_bold,
83 		searchhighlight_blink;
84 }
85 colours;
86 #endif /* HAVE_CURSES_COLOR */
87 
88 extern int use_manual;
89 
90 int parse_config (void);
91 int parse_line (char *line);
92 char *str_toupper (char *s);
93 char *skip_whitespace (char *s);
94 char *remove_quotes (char *str);
95 
96 #ifndef ___DONT_USE_REGEXP_SEARCH___
97 extern regex_t *h_regexp;	/* regexps to highlight */
98 extern int h_regexp_num;	/* number of those regexps */
99 #endif
100 
101 #endif
102