1N/A/***********************************************************************
1N/A* *
1N/A* This software is part of the ast package *
1N/A* Copyright (c) 1982-2011 AT&T Intellectual Property *
1N/A* and is licensed under the *
1N/A* Common Public License, Version 1.0 *
1N/A* by AT&T Intellectual Property *
1N/A* *
1N/A* A copy of the License is available at *
1N/A* http://www.opensource.org/licenses/cpl1.0.txt *
1N/A* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
1N/A* *
1N/A* Information and Software Systems Research *
1N/A* AT&T Research *
1N/A* Florham Park NJ *
1N/A* *
1N/A* David Korn <dgk@research.att.com> *
1N/A* *
1N/A***********************************************************************/
1N/A#pragma prototyped
1N/A#ifndef _SHTABLE_H
1N/A
1N/A/*
1N/A * David Korn
1N/A * AT&T Labs
1N/A *
1N/A * Interface definitions read-only data tables for shell
1N/A *
1N/A */
1N/A
1N/A#define _SHTABLE_H 1
1N/A
1N/Atypedef struct shtable1
1N/A{
1N/A const char *sh_name;
1N/A const unsigned sh_number;
1N/A} Shtable_t;
1N/A
1N/Astruct shtable2
1N/A{
1N/A const char *sh_name;
1N/A const unsigned sh_number;
1N/A const char *sh_value;
1N/A};
1N/A
1N/Astruct shtable3
1N/A{
1N/A const char *sh_name;
1N/A const unsigned sh_number;
1N/A int (*sh_value)(int, char*[], void*);
1N/A};
1N/A
1N/A#define sh_lookup(name,value) (sh_locate(name,(Shtable_t*)(value),sizeof(*(value)))->sh_number)
1N/Aextern const Shtable_t shtab_testops[];
1N/Aextern const Shtable_t shtab_options[];
1N/Aextern const Shtable_t shtab_attributes[];
1N/Aextern const struct shtable2 shtab_variables[];
1N/Aextern const struct shtable2 shtab_aliases[];
1N/Aextern const struct shtable2 shtab_signals[];
1N/Aextern const struct shtable3 shtab_builtins[];
1N/Aextern const Shtable_t shtab_reserved[];
1N/Aextern const Shtable_t *sh_locate(const char*, const Shtable_t*, int);
1N/Aextern int sh_lookopt(const char*, int*);
1N/A
1N/A#endif /* SH_TABLE_H */