/* -*- buffer-read-only: t -*- vi: set ro: * * DO NOT EDIT THIS FILE (directive.h) * * It has been AutoGen-ed * From the definitions directive.def * and the template file str2enum * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name ``Bruce Korb'' nor the name of any other * contributor may be used to endorse or promote products derived * from this software without specific prior written permission. * * str2enum IS PROVIDED BY Bruce Korb ``AS IS'' AND ANY EXPRESS * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL Bruce Korb OR ANY OTHER CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * Command/Keyword Dispatcher */ #ifndef STR2ENUM_DIRECTIVE_H_GUARD #define STR2ENUM_DIRECTIVE_H_GUARD 1 /** \file directive.h * Header for string to enumeration values and back again. * @addtogroup autogen * @{ */ #include #ifndef MISSING_INTTYPES_H # include #endif typedef enum { DIR_INVALID = 0, DIR_ASSERT = 1, DIR_DEFINE = 2, DIR_ELIF = 3, DIR_ELSE = 4, DIR_ENDIF = 5, DIR_ENDMAC = 6, DIR_ENDSHELL = 7, DIR_ERROR = 8, DIR_IDENT = 9, DIR_IF = 10, DIR_IFDEF = 11, DIR_IFNDEF = 12, DIR_INCLUDE = 13, DIR_LET = 14, DIR_LINE = 15, DIR_MACDEF = 16, DIR_OPTION = 17, DIR_PRAGMA = 18, DIR_SHELL = 19, DIR_UNDEF = 20, DIR_COUNT } directive_enum_t; extern directive_enum_t find_directive(char const * str); extern char const * directive_name(directive_enum_t id); extern char * doDir_directive_disp(char const * str, char * scan_next); typedef char * (doDir_hdl_t)( directive_enum_t id, char const * str, char * scan_next); doDir_hdl_t doDir_invalid, doDir_assert, doDir_define, doDir_elif, doDir_else, doDir_endif, doDir_endmac, doDir_endshell, doDir_error, doDir_ident, doDir_if, doDir_ifdef, doDir_ifndef, doDir_include, doDir_let, doDir_line, doDir_macdef, doDir_option, doDir_pragma, doDir_shell, doDir_undef; /** @} */#endif /* STR2ENUM_DIRECTIVE_H_GUARD */ /* end of directive.h */