~ubuntu-branches/ubuntu/precise/mysql-5.1/precise

« back to all changes in this revision

Viewing changes to cmd-line-utils/readline/tilde.h

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Tretkowski
  • Date: 2010-03-17 14:56:02 UTC
  • Revision ID: james.westby@ubuntu.com-20100317145602-x7e30l1b2sb5s6w6
Tags: upstream-5.1.45
ImportĀ upstreamĀ versionĀ 5.1.45

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 
11
   the Free Software Foundation; either version 2, or (at your option)
 
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,
 
22
   59 Temple Place, Suite 330, Boston, MA 02111 USA. */
 
23
 
 
24
#if !defined (_TILDE_H_)
 
25
#  define _TILDE_H_
 
26
 
 
27
#ifdef __cplusplus
 
28
extern "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:
 
33
        extern char *func PARAMS((char *, char *, int)); */
 
34
 
 
35
#if !defined (PARAMS)
 
36
#  if defined (__STDC__) || defined (__GNUC__) || defined (__cplusplus)
 
37
#    define PARAMS(protos) protos
 
38
#  else
 
39
#    define PARAMS(protos) ()
 
40
#  endif
 
41
#endif
 
42
 
 
43
typedef char *tilde_hook_func_t PARAMS((char *));
 
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. */
 
49
extern tilde_hook_func_t *tilde_expansion_preexpansion_hook;
 
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. */
 
55
extern tilde_hook_func_t *tilde_expansion_failure_hook;
 
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 `:~'. */
 
60
extern 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 `=~'. */
 
65
extern char **tilde_additional_suffixes;
 
66
 
 
67
/* Return a new string which is the result of tilde expanding STRING. */
 
68
extern char *tilde_expand PARAMS((const char *));
 
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. */
 
72
extern char *tilde_expand_word PARAMS((const char *));
 
73
 
 
74
/* Find the portion of the string beginning with ~ that should be expanded. */
 
75
extern char *tilde_find_word PARAMS((const char *, int, int *));
 
76
 
 
77
#ifdef __cplusplus
 
78
}
 
79
#endif
 
80
 
 
81
#endif /* _TILDE_H_ */