1*0a6a1f1dSLionel Sambuc /* $NetBSD: sel.h,v 1.3 2014/04/24 13:45:34 pettai Exp $ */ 2ebfedea0SLionel Sambuc 3ebfedea0SLionel Sambuc /* 4ebfedea0SLionel Sambuc * Copyright (c) 2008 Kungliga Tekniska Högskolan 5ebfedea0SLionel Sambuc * (Royal Institute of Technology, Stockholm, Sweden). 6ebfedea0SLionel Sambuc * All rights reserved. 7ebfedea0SLionel Sambuc * 8ebfedea0SLionel Sambuc * Redistribution and use in source and binary forms, with or without 9ebfedea0SLionel Sambuc * modification, are permitted provided that the following conditions 10ebfedea0SLionel Sambuc * are met: 11ebfedea0SLionel Sambuc * 12ebfedea0SLionel Sambuc * 1. Redistributions of source code must retain the above copyright 13ebfedea0SLionel Sambuc * notice, this list of conditions and the following disclaimer. 14ebfedea0SLionel Sambuc * 15ebfedea0SLionel Sambuc * 2. Redistributions in binary form must reproduce the above copyright 16ebfedea0SLionel Sambuc * notice, this list of conditions and the following disclaimer in the 17ebfedea0SLionel Sambuc * documentation and/or other materials provided with the distribution. 18ebfedea0SLionel Sambuc * 19ebfedea0SLionel Sambuc * 3. Neither the name of the Institute nor the names of its contributors 20ebfedea0SLionel Sambuc * may be used to endorse or promote products derived from this software 21ebfedea0SLionel Sambuc * without specific prior written permission. 22ebfedea0SLionel Sambuc * 23ebfedea0SLionel Sambuc * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 24ebfedea0SLionel Sambuc * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 25ebfedea0SLionel Sambuc * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 26ebfedea0SLionel Sambuc * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 27ebfedea0SLionel Sambuc * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28ebfedea0SLionel Sambuc * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29ebfedea0SLionel Sambuc * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30ebfedea0SLionel Sambuc * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31ebfedea0SLionel Sambuc * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32ebfedea0SLionel Sambuc * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33ebfedea0SLionel Sambuc * SUCH DAMAGE. 34ebfedea0SLionel Sambuc */ 35ebfedea0SLionel Sambuc 36ebfedea0SLionel Sambuc enum hx_expr_op { 37ebfedea0SLionel Sambuc op_TRUE, 38ebfedea0SLionel Sambuc op_FALSE, 39ebfedea0SLionel Sambuc op_NOT, 40ebfedea0SLionel Sambuc op_AND, 41ebfedea0SLionel Sambuc op_OR, 42ebfedea0SLionel Sambuc op_COMP, 43ebfedea0SLionel Sambuc 44ebfedea0SLionel Sambuc comp_EQ, 45ebfedea0SLionel Sambuc comp_NE, 46ebfedea0SLionel Sambuc comp_IN, 47ebfedea0SLionel Sambuc comp_TAILEQ, 48ebfedea0SLionel Sambuc 49ebfedea0SLionel Sambuc expr_NUMBER, 50ebfedea0SLionel Sambuc expr_STRING, 51ebfedea0SLionel Sambuc expr_FUNCTION, 52ebfedea0SLionel Sambuc expr_VAR, 53ebfedea0SLionel Sambuc expr_WORDS 54ebfedea0SLionel Sambuc }; 55ebfedea0SLionel Sambuc 56ebfedea0SLionel Sambuc struct hx_expr { 57ebfedea0SLionel Sambuc enum hx_expr_op op; 58ebfedea0SLionel Sambuc void *arg1; 59ebfedea0SLionel Sambuc void *arg2; 60ebfedea0SLionel Sambuc }; 61ebfedea0SLionel Sambuc 62ebfedea0SLionel Sambuc struct hx_expr_input { 63ebfedea0SLionel Sambuc const char *buf; 64ebfedea0SLionel Sambuc size_t length; 65ebfedea0SLionel Sambuc size_t offset; 66ebfedea0SLionel Sambuc struct hx_expr *expr; 67ebfedea0SLionel Sambuc char *error; 68ebfedea0SLionel Sambuc }; 69ebfedea0SLionel Sambuc 70ebfedea0SLionel Sambuc extern struct hx_expr_input _hx509_expr_input; 71ebfedea0SLionel Sambuc 72ebfedea0SLionel Sambuc #if !defined(yylex) 73ebfedea0SLionel Sambuc #define yylex _hx509_sel_yylex 74ebfedea0SLionel Sambuc #define yywrap _hx509_sel_yywrap 75ebfedea0SLionel Sambuc #endif 76ebfedea0SLionel Sambuc #if !defined(yyparse) 77ebfedea0SLionel Sambuc #define yyparse _hx509_sel_yyparse 78ebfedea0SLionel Sambuc #define yyerror _hx509_sel_yyerror 79ebfedea0SLionel Sambuc #define yylval _hx509_sel_yylval 80ebfedea0SLionel Sambuc #define yychar _hx509_sel_yychar 81ebfedea0SLionel Sambuc #define yydebug _hx509_sel_yydebug 82ebfedea0SLionel Sambuc #define yynerrs _hx509_sel_yynerrs 83ebfedea0SLionel Sambuc #endif 84ebfedea0SLionel Sambuc 85ebfedea0SLionel Sambuc int _hx509_sel_yyparse(void); 86ebfedea0SLionel Sambuc int _hx509_sel_yylex(void); 87*0a6a1f1dSLionel Sambuc void _hx509_sel_yyerror(const char *); 88ebfedea0SLionel Sambuc 89