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