]> git.ipfire.org Git - thirdparty/bash.git/blame - alias.h
fix for SIGINT in sourced script
[thirdparty/bash.git] / alias.h
CommitLineData
726f6388
JA
1/* alias.h -- structure definitions. */
2
3185942a 3/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
726f6388
JA
4
5 This file is part of GNU Bash, the Bourne Again SHell.
6
3185942a
JA
7 Bash is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
726f6388 11
3185942a
JA
12 Bash is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
726f6388
JA
16
17 You should have received a copy of the GNU General Public License
3185942a
JA
18 along with Bash. If not, see <http://www.gnu.org/licenses/>.
19*/
726f6388 20
ccc6cda3
JA
21#if !defined (_ALIAS_H_)
22#define _ALIAS_H_
726f6388 23
f73dda09 24#include "stdc.h"
726f6388 25
f73dda09 26#include "hashlib.h"
726f6388 27
ccc6cda3 28typedef struct alias {
726f6388
JA
29 char *name;
30 char *value;
ccc6cda3
JA
31 char flags;
32} alias_t;
33
34/* Values for `flags' member of struct alias. */
35#define AL_EXPANDNEXT 0x1
36#define AL_BEINGEXPANDED 0x2
726f6388
JA
37
38/* The list of known aliases. */
39extern HASH_TABLE *aliases;
40
f73dda09 41extern void initialize_aliases __P((void));
726f6388
JA
42
43/* Scan the list of aliases looking for one with NAME. Return NULL
ccc6cda3 44 if the alias doesn't exist, else a pointer to the alias. */
f73dda09 45extern alias_t *find_alias __P((char *));
726f6388
JA
46
47/* Return the value of the alias for NAME, or NULL if there is none. */
f73dda09 48extern char *get_alias_value __P((char *));
726f6388
JA
49
50/* Make a new alias from NAME and VALUE. If NAME can be found,
51 then replace its value. */
f73dda09 52extern void add_alias __P((char *, char *));
726f6388
JA
53
54/* Remove the alias with name NAME from the alias list. Returns
55 the index of the removed alias, or -1 if the alias didn't exist. */
f73dda09 56extern int remove_alias __P((char *));
726f6388 57
ccc6cda3 58/* Remove all aliases. */
f73dda09 59extern void delete_all_aliases __P((void));
726f6388
JA
60
61/* Return an array of all defined aliases. */
f73dda09 62extern alias_t **all_aliases __P((void));
ccc6cda3
JA
63
64/* Expand a single word for aliases. */
f73dda09
JA
65extern char *alias_expand_word __P((char *));
66
67/* Return a new line, with any aliases expanded. */
68extern char *alias_expand __P((char *));
726f6388 69
ccc6cda3 70#endif /* _ALIAS_H_ */