Import readline 7.0 (patch 5)
[deliverable/binutils-gdb.git] / readline / rltypedefs.h
CommitLineData
9255ee31
EZ
1/* rltypedefs.h -- Type declarations for readline functions. */
2
775e241e 3/* Copyright (C) 2000-2011 Free Software Foundation, Inc.
9255ee31 4
cc88a640
JK
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.
9255ee31 7
cc88a640
JK
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
9255ee31
EZ
11 (at your option) any later version.
12
cc88a640
JK
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
9255ee31
EZ
16 GNU General Public License for more details.
17
cc88a640
JK
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*/
9255ee31
EZ
21
22#ifndef _RL_TYPEDEFS_H_
23#define _RL_TYPEDEFS_H_
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
775e241e 29/* Old-style, attempt to mark as deprecated in some way people will notice. */
9255ee31
EZ
30
31#if !defined (_FUNCTION_DEF)
32# define _FUNCTION_DEF
33
775e241e
TT
34#if defined(__GNUC__) || defined(__clang__)
35typedef int Function () __attribute__ ((deprecated));
36typedef void VFunction () __attribute__ ((deprecated));
37typedef char *CPFunction () __attribute__ ((deprecated));
38typedef char **CPPFunction () __attribute__ ((deprecated));
39#else
9255ee31
EZ
40typedef int Function ();
41typedef void VFunction ();
42typedef char *CPFunction ();
43typedef char **CPPFunction ();
775e241e 44#endif
9255ee31
EZ
45
46#endif /* _FUNCTION_DEF */
47
48/* New style. */
49
50#if !defined (_RL_FUNCTION_TYPEDEF)
51# define _RL_FUNCTION_TYPEDEF
52
53/* Bindable functions */
54typedef int rl_command_func_t PARAMS((int, int));
55
56/* Typedefs for the completion system */
57typedef char *rl_compentry_func_t PARAMS((const char *, int));
58typedef char **rl_completion_func_t PARAMS((const char *, int, int));
59
60typedef char *rl_quote_func_t PARAMS((char *, int, char *));
61typedef char *rl_dequote_func_t PARAMS((char *, int));
62
63typedef int rl_compignore_func_t PARAMS((char **));
64
65typedef void rl_compdisp_func_t PARAMS((char **, int, int));
66
67/* Type for input and pre-read hook functions like rl_event_hook */
68typedef int rl_hook_func_t PARAMS((void));
69
70/* Input function type */
71typedef int rl_getc_func_t PARAMS((FILE *));
72
73/* Generic function that takes a character buffer (which could be the readline
74 line buffer) and an index into it (which could be rl_point) and returns
75 an int. */
76typedef int rl_linebuf_func_t PARAMS((char *, int));
77
78/* `Generic' function pointer typedefs */
79typedef int rl_intfunc_t PARAMS((int));
80#define rl_ivoidfunc_t rl_hook_func_t
81typedef int rl_icpfunc_t PARAMS((char *));
82typedef int rl_icppfunc_t PARAMS((char **));
83
84typedef void rl_voidfunc_t PARAMS((void));
85typedef void rl_vintfunc_t PARAMS((int));
86typedef void rl_vcpfunc_t PARAMS((char *));
87typedef void rl_vcppfunc_t PARAMS((char **));
5bdf8622
DJ
88
89typedef char *rl_cpvfunc_t PARAMS((void));
90typedef char *rl_cpifunc_t PARAMS((int));
91typedef char *rl_cpcpfunc_t PARAMS((char *));
92typedef char *rl_cpcppfunc_t PARAMS((char **));
93
9255ee31
EZ
94#endif /* _RL_FUNCTION_TYPEDEF */
95
96#ifdef __cplusplus
97}
98#endif
99
100#endif /* _RL_TYPEDEFS_H_ */
This page took 0.771585 seconds and 4 git commands to generate.