]> git.ipfire.org Git - thirdparty/bash.git/blob - lib/readline/rltypedefs.h
Imported from ../bash-2.05.tar.gz.
[thirdparty/bash.git] / lib / readline / rltypedefs.h
1 /* rltypedefs.h -- Type declarations for readline functions. */
2
3 /* Copyright (C) 2000 Free Software Foundation, Inc.
4
5 This file is part of the GNU Readline Library, a library for
6 reading lines of text with interactive input and history editing.
7
8 The GNU Readline Library is free software; you can redistribute it
9 and/or modify it under the terms of the GNU General Public License
10 as published by the Free Software Foundation; either version 2, or
11 (at your option) any later version.
12
13 The GNU Readline Library is distributed in the hope that it will be
14 useful, but WITHOUT ANY WARRANTY; without even the implied warranty
15 of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 The GNU General Public License is often shipped with GNU software, and
19 is generally kept in a file called COPYING or LICENSE. If you do not
20 have a copy of the license, write to the Free Software Foundation,
21 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
22
23 #ifndef _RL_TYPEDEFS_H_
24 #define _RL_TYPEDEFS_H_
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29
30 /* Old-style */
31
32 #if !defined (_FUNCTION_DEF)
33 # define _FUNCTION_DEF
34
35 typedef int Function ();
36 typedef void VFunction ();
37 typedef char *CPFunction ();
38 typedef char **CPPFunction ();
39
40 #endif /* _FUNCTION_DEF */
41
42 /* New style. */
43
44 #if !defined (_RL_FUNCTION_TYPEDEF)
45 # define _RL_FUNCTION_TYPEDEF
46
47 /* Bindable functions */
48 typedef int rl_command_func_t __P((int, int));
49
50 /* Typedefs for the completion system */
51 typedef char *rl_compentry_func_t __P((const char *, int));
52 typedef char **rl_completion_func_t __P((const char *, int, int));
53
54 typedef char *rl_quote_func_t __P((char *, int, char *));
55 typedef char *rl_dequote_func_t __P((char *, int));
56
57 typedef int rl_compignore_func_t __P((char **));
58
59 typedef void rl_compdisp_func_t __P((char **, int, int));
60
61 /* Type for input and pre-read hook functions like rl_event_hook */
62 typedef int rl_hook_func_t __P((void));
63
64 /* Input function type */
65 typedef int rl_getc_func_t __P((FILE *));
66
67 /* Generic function that takes a character buffer (which could be the readline
68 line buffer) and an index into it (which could be rl_point) and returns
69 an int. */
70 typedef int rl_linebuf_func_t __P((char *, int));
71
72 /* `Generic' function pointer typedefs */
73 typedef int rl_intfunc_t __P((int));
74 #define rl_ivoidfunc_t rl_hook_func_t
75 typedef int rl_icpfunc_t __P((char *));
76 typedef int rl_icppfunc_t __P((char **));
77
78 typedef void rl_voidfunc_t __P((void));
79 typedef void rl_vintfunc_t __P((int));
80 typedef void rl_vcpfunc_t __P((char *));
81 typedef void rl_vcppfunc_t __P((char **));
82 #endif /* _RL_FUNCTION_TYPEDEF */
83
84 #ifdef __cplusplus
85 }
86 #endif
87
88 #endif /* _RL_TYPEDEFS_H_ */