"Fossies" - the Fresh Open Source Software Archive

Member "which-2.21/tilde/tilde.h" (16 Jan 2008, 3167 Bytes) of package /linux/privat/which-2.21.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "tilde.h" see the Fossies "Dox" file reference documentation.

    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_ */