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