1 /* bashhist.h -- interface to the bash history functions in bashhist.c. */
2 
3 /* Copyright (C) 1993-2020 Free Software Foundation,  Inc.
4 
5    This file is part of GNU Bash, the Bourne Again SHell.
6 
7    Bash is free software: you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation, either version 3 of the License, or
10    (at your option) any later version.
11 
12    Bash is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16 
17    You should have received a copy of the GNU General Public License
18    along with Bash.  If not, see <http://www.gnu.org/licenses/>.
19 */
20 
21 #if !defined (_BASHHIST_H_)
22 #define _BASHHIST_H_
23 
24 #include "stdc.h"
25 
26 /* Flag values for history_control */
27 #define HC_IGNSPACE	0x01
28 #define HC_IGNDUPS	0x02
29 #define HC_ERASEDUPS	0x04
30 
31 #define HC_IGNBOTH	(HC_IGNSPACE|HC_IGNDUPS)
32 
33 #if defined (STRICT_POSIX)
34 #  undef HISTEXPAND_DEFAULT
35 #  define HISTEXPAND_DEFAULT	0
36 #else
37 #  if !defined (HISTEXPAND_DEFAULT)
38 #    define HISTEXPAND_DEFAULT	1
39 #  endif /* !HISTEXPAND_DEFAULT */
40 #endif
41 
42 extern int remember_on_history;
43 extern int enable_history_list;		/* value for `set -o history' */
44 extern int literal_history;		/* controlled by `shopt lithist' */
45 extern int force_append_history;
46 extern int history_lines_this_session;
47 extern int history_lines_in_file;
48 extern int history_expansion;
49 extern int history_control;
50 extern int command_oriented_history;
51 extern int current_command_first_line_saved;
52 extern int current_command_first_line_comment;
53 extern int hist_last_line_added;
54 extern int hist_last_line_pushed;
55 
56 extern int dont_save_function_defs;
57 
58 #  if defined (READLINE)
59 extern int hist_verify;
60 #  endif
61 
62 #  if defined (BANG_HISTORY)
63 extern int history_expansion_inhibited;
64 extern int double_quotes_inhibit_history_expansion;
65 #  endif /* BANG_HISTORY */
66 
67 extern void bash_initialize_history PARAMS((void));
68 extern void bash_history_reinit PARAMS((int));
69 extern void bash_history_disable PARAMS((void));
70 extern void bash_history_enable PARAMS((void));
71 extern void bash_clear_history PARAMS((void));
72 extern int bash_delete_histent PARAMS((int));
73 extern int bash_delete_history_range PARAMS((int, int));
74 extern int bash_delete_last_history PARAMS((void));
75 extern void load_history PARAMS((void));
76 extern void save_history PARAMS((void));
77 extern int maybe_append_history PARAMS((char *));
78 extern int maybe_save_shell_history PARAMS((void));
79 extern char *pre_process_line PARAMS((char *, int, int));
80 extern void maybe_add_history PARAMS((char *));
81 extern void bash_add_history PARAMS((char *));
82 extern int check_add_history PARAMS((char *, int));
83 extern int history_number PARAMS((void));
84 
85 extern void setup_history_ignore PARAMS((char *));
86 
87 extern char *last_history_line PARAMS((void));
88 
89 #endif /* _BASHHIST_H_ */
90