summaryrefslogtreecommitdiff
path: root/alias.h
diff options
context:
space:
mode:
authorJari Aalto <jari.aalto@cante.net>1996-08-26 18:22:31 +0000
committerJari Aalto <jari.aalto@cante.net>2009-09-12 16:46:49 +0000
commit726f63884db0132f01745f1fb4465e6621088ccf (patch)
tree6c2f7765a890a97e0e513cb539df43283a8f7c4d /alias.h
downloadbash-726f63884db0132f01745f1fb4465e6621088ccf.tar.gz
Imported from ../bash-1.14.7.tar.gz.
Diffstat (limited to 'alias.h')
-rw-r--r--alias.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/alias.h b/alias.h
new file mode 100644
index 00000000..2a2d1846
--- /dev/null
+++ b/alias.h
@@ -0,0 +1,75 @@
+/* alias.h -- structure definitions. */
+
+/* Copyright (C) 1987,1991 Free Software Foundation, Inc.
+
+ This file is part of GNU Bash, the Bourne Again SHell.
+
+ Bash is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 1, or (at your option)
+ any later version.
+
+ Bash is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bash; see the file COPYING. If not, write to the Free
+ Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+#if !defined (_ALIAS_)
+#define _ALIAS_
+
+#include "hash.h"
+
+extern char *xmalloc ();
+
+#if !defined (whitespace)
+# define whitespace(c) (((c) == ' ') || ((c) == '\t'))
+#endif /* !whitespace */
+
+#if !defined (savestring)
+# define savestring(x) (char *)strcpy (xmalloc (1 + strlen (x)), (x))
+#endif /* !savestring */
+
+#if !defined (NULL)
+# if defined (__STDC__)
+# define NULL ((void *) 0)
+# else
+# define NULL 0x0
+# endif /* !__STDC__ */
+#endif /* !NULL */
+
+typedef struct {
+ char *name;
+ char *value;
+} ASSOC;
+
+/* The list of known aliases. */
+extern HASH_TABLE *aliases;
+
+extern void initialize_aliases ();
+
+/* Scan the list of aliases looking for one with NAME. Return NULL
+ if the alias doesn't exist, else a pointer to the assoc. */
+extern ASSOC *find_alias ();
+
+/* Return the value of the alias for NAME, or NULL if there is none. */
+extern char *get_alias_value ();
+
+/* Make a new alias from NAME and VALUE. If NAME can be found,
+ then replace its value. */
+extern void add_alias ();
+
+/* Remove the alias with name NAME from the alias list. Returns
+ the index of the removed alias, or -1 if the alias didn't exist. */
+extern int remove_alias ();
+
+/* Return a new line, with any aliases expanded. */
+extern char *alias_expand ();
+
+/* Return an array of all defined aliases. */
+extern ASSOC **all_aliases ();
+
+#endif /* _ALIAS_ */