]> git.ipfire.org Git - thirdparty/bash.git/blame - lib/readline/rltypedefs.h
Bash-5.3: updated translations and gettext gmo files
[thirdparty/bash.git] / lib / readline / rltypedefs.h
CommitLineData
28ef6c31
JA
1/* rltypedefs.h -- Type declarations for readline functions. */
2
b8c60bc9 3/* Copyright (C) 2000-2023 Free Software Foundation, Inc.
28ef6c31 4
3185942a
JA
5 This file is part of the GNU Readline Library (Readline), a library
6 for reading lines of text with interactive input and history editing.
28ef6c31 7
3185942a
JA
8 Readline is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
28ef6c31
JA
11 (at your option) any later version.
12
3185942a
JA
13 Readline is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28ef6c31
JA
16 GNU General Public License for more details.
17
3185942a
JA
18 You should have received a copy of the GNU General Public License
19 along with Readline. If not, see <http://www.gnu.org/licenses/>.
20*/
28ef6c31
JA
21
22#ifndef _RL_TYPEDEFS_H_
23#define _RL_TYPEDEFS_H_
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
a0c0a00f
CR
29/* Old-style, attempt to mark as deprecated in some way people will notice. */
30
b8c60bc9 31#if !defined (_FUNCTION_DEF) && defined (WANT_OBSOLETE_TYPEDEFS)
a0c0a00f
CR
32# define _FUNCTION_DEF
33
74091dd4
CR
34typedef int Function () __attribute__((deprecated));
35typedef void VFunction () __attribute__((deprecated));
36typedef char *CPFunction () __attribute__((deprecated));
37typedef char **CPPFunction () __attribute__((deprecated));
a0c0a00f 38
b8c60bc9 39#endif /* _FUNCTION_DEF && WANT_OBSOLETE_TYPEDEFS */
a0c0a00f 40
28ef6c31
JA
41/* New style. */
42
43#if !defined (_RL_FUNCTION_TYPEDEF)
44# define _RL_FUNCTION_TYPEDEF
45
46/* Bindable functions */
74091dd4 47typedef int rl_command_func_t (int, int);
28ef6c31
JA
48
49/* Typedefs for the completion system */
74091dd4
CR
50typedef char *rl_compentry_func_t (const char *, int);
51typedef char **rl_completion_func_t (const char *, int, int);
28ef6c31 52
74091dd4
CR
53typedef char *rl_quote_func_t (char *, int, char *);
54typedef char *rl_dequote_func_t (char *, int);
28ef6c31 55
74091dd4 56typedef int rl_compignore_func_t (char **);
28ef6c31 57
74091dd4 58typedef void rl_compdisp_func_t (char **, int, int);
28ef6c31 59
b8c60bc9
CR
60/* Functions for displaying key bindings. Currently only one. */
61typedef void rl_macro_print_func_t (const char *, const char *, int, const char *);
62
28ef6c31 63/* Type for input and pre-read hook functions like rl_event_hook */
74091dd4 64typedef int rl_hook_func_t (void);
28ef6c31
JA
65
66/* Input function type */
74091dd4 67typedef int rl_getc_func_t (FILE *);
28ef6c31
JA
68
69/* Generic function that takes a character buffer (which could be the readline
70 line buffer) and an index into it (which could be rl_point) and returns
71 an int. */
74091dd4 72typedef int rl_linebuf_func_t (char *, int);
28ef6c31
JA
73
74/* `Generic' function pointer typedefs */
74091dd4 75typedef int rl_intfunc_t (int);
28ef6c31 76#define rl_ivoidfunc_t rl_hook_func_t
74091dd4
CR
77typedef int rl_icpfunc_t (char *);
78typedef int rl_icppfunc_t (char **);
79
80typedef void rl_voidfunc_t (void);
81typedef void rl_vintfunc_t (int);
82typedef void rl_vcpfunc_t (char *);
83typedef void rl_vcppfunc_t (char **);
84
85typedef char *rl_cpvfunc_t (void);
86typedef char *rl_cpifunc_t (int);
87typedef char *rl_cpcpfunc_t (char *);
88typedef char *rl_cpcppfunc_t (char **);
b80f6443 89
28ef6c31
JA
90#endif /* _RL_FUNCTION_TYPEDEF */
91
92#ifdef __cplusplus
93}
94#endif
95
96#endif /* _RL_TYPEDEFS_H_ */