Fix typos in ChangeLog
[deliverable/binutils-gdb.git] / readline / tilde.h
CommitLineData
d60d9f65
SS
1/* tilde.h: Externally available variables and function in libtilde.a. */
2
3/* Copyright (C) 1992 Free Software Foundation, Inc.
4
5 This file contains the Readline Library (the Library), a set of
6 routines for providing Emacs style line input to programs that ask
7 for it.
8
9 The Library is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
1b17e766 11 the Free Software Foundation; either version 2, or (at your option)
d60d9f65
SS
12 any later version.
13
14 The Library is distributed in the hope that it will be useful, but
15 WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 General Public License for more details.
18
19 The GNU General Public License is often shipped with GNU software, and
20 is generally kept in a file called COPYING or LICENSE. If you do not
21 have a copy of the license, write to the Free Software Foundation,
1b17e766 22 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
d60d9f65
SS
23
24#if !defined (_TILDE_H_)
25# define _TILDE_H_
26
1b17e766
EZ
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31/* A function can be defined using prototypes and compile on both ANSI C
32 and traditional C compilers with something like this:
9255ee31 33 extern char *func PARAMS((char *, char *, int)); */
1b17e766 34
9255ee31 35#if !defined (PARAMS)
1b17e766 36# if defined (__STDC__) || defined (__GNUC__) || defined (__cplusplus)
9255ee31 37# define PARAMS(protos) protos
1b17e766 38# else
9255ee31 39# define PARAMS(protos) ()
1b17e766
EZ
40# endif
41#endif
42
9255ee31 43typedef char *tilde_hook_func_t PARAMS((char *));
d60d9f65
SS
44
45/* If non-null, this contains the address of a function that the application
46 wants called before trying the standard tilde expansions. The function
47 is called with the text sans tilde, and returns a malloc()'ed string
48 which is the expansion, or a NULL pointer if the expansion fails. */
9255ee31 49extern tilde_hook_func_t *tilde_expansion_preexpansion_hook;
d60d9f65
SS
50
51/* If non-null, this contains the address of a function to call if the
52 standard meaning for expanding a tilde fails. The function is called
53 with the text (sans tilde, as in "foo"), and returns a malloc()'ed string
54 which is the expansion, or a NULL pointer if there is no expansion. */
9255ee31 55extern tilde_hook_func_t *tilde_expansion_failure_hook;
d60d9f65
SS
56
57/* When non-null, this is a NULL terminated array of strings which
58 are duplicates for a tilde prefix. Bash uses this to expand
59 `=~' and `:~'. */
60extern char **tilde_additional_prefixes;
61
62/* When non-null, this is a NULL terminated array of strings which match
63 the end of a username, instead of just "/". Bash sets this to
64 `:' and `=~'. */
65extern char **tilde_additional_suffixes;
66
67/* Return a new string which is the result of tilde expanding STRING. */
9255ee31 68extern char *tilde_expand PARAMS((const char *));
d60d9f65
SS
69
70/* Do the work of tilde expansion on FILENAME. FILENAME starts with a
71 tilde. If there is no expansion, call tilde_expansion_failure_hook. */
9255ee31 72extern char *tilde_expand_word PARAMS((const char *));
1b17e766
EZ
73
74#ifdef __cplusplus
75}
76#endif
d60d9f65
SS
77
78#endif /* _TILDE_H_ */
This page took 0.271615 seconds and 4 git commands to generate.