source: trunk/third/bash/builtins.h @ 18290

Revision 18290, 2.1 KB checked in by zacheiss, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18289, which included commits to RCS files with non-trunk default branches.
Line 
1/* builtins.h -- What a builtin looks like, and where to find them. */
2
3/* Copyright (C) 1987,1991 Free Software Foundation, Inc.
4
5   This file is part of GNU Bash, the Bourne Again SHell.
6
7   Bash is free software; you can redistribute it and/or modify it
8   under the terms of the GNU General Public License as published by
9   the Free Software Foundation; either version 2, or (at your option)
10   any later version.
11
12   Bash is distributed in the hope that it will be useful, but WITHOUT
13   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
15   License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with Bash; see the file COPYING.  If not, write to the Free
19   Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
20
21#include "config.h"
22
23#if defined (HAVE_UNISTD_H)
24#  ifdef _MINIX
25#    include <sys/types.h>
26#  endif
27#  include <unistd.h>
28#endif
29
30#include "command.h"
31#include "general.h"
32
33#if defined (ALIAS)
34#include "alias.h"
35#endif
36
37/* Flags describing various things about a builtin. */
38#define BUILTIN_ENABLED 0x1     /* This builtin is enabled. */
39#define BUILTIN_DELETED 0x2     /* This has been deleted with enable -d. */
40#define STATIC_BUILTIN  0x4     /* This builtin is not dynamically loaded. */
41#define SPECIAL_BUILTIN 0x8     /* This is a Posix `special' builtin. */
42#define ASSIGNMENT_BUILTIN 0x10 /* This builtin takes assignment statements. */
43
44/* The thing that we build the array of builtins out of. */
45struct builtin {
46  char *name;                   /* The name that the user types. */
47  sh_builtin_func_t *function;  /* The address of the invoked function. */
48  int flags;                    /* One of the #defines above. */
49  char * const *long_doc;       /* NULL terminated array of strings. */
50  const char *short_doc;        /* Short version of documenation. */
51  char *handle;                 /* for future use */
52};
53
54/* Found in builtins.c, created by builtins/mkbuiltins. */
55extern int num_shell_builtins;  /* Number of shell builtins. */
56extern struct builtin static_shell_builtins[];
57extern struct builtin *shell_builtins;
58extern struct builtin *current_builtin;
Note: See TracBrowser for help on using the repository browser.