/usr/src/redhat/BUILD/httpd-2.2.3/modules/ssl/ssl_expr.h

説明を見る。
00001 /* Licensed to the Apache Software Foundation (ASF) under one or more
00002  * contributor license agreements.  See the NOTICE file distributed with
00003  * this work for additional information regarding copyright ownership.
00004  * The ASF licenses this file to You under the Apache License, Version 2.0
00005  * (the "License"); you may not use this file except in compliance with
00006  * the License.  You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00035 #ifndef __SSL_EXPR_H__
00036 #define __SSL_EXPR_H__
00037 
00038 #ifndef FALSE
00039 #define FALSE 0
00040 #endif
00041 
00042 #ifndef TRUE
00043 #define TRUE !FALSE
00044 #endif
00045 
00046 #ifndef YY_NULL
00047 #define YY_NULL 0
00048 #endif
00049 
00050 #ifndef MIN
00051 #define MIN(a,b) (((a)<(b))?(a):(b))
00052 #endif
00053 
00054 #ifndef BOOL
00055 #define BOOL unsigned int
00056 #endif
00057 
00058 #ifndef NULL
00059 #define NULL (void *)0
00060 #endif
00061 
00062 #ifndef NUL
00063 #define NUL '\0'
00064 #endif
00065 
00066 #ifndef YYDEBUG
00067 #define YYDEBUG 0
00068 #endif
00069 
00070 typedef enum {
00071     op_NOP, op_ListElement, op_OidListElement,
00072     op_True, op_False, op_Not, op_Or, op_And, op_Comp,
00073     op_EQ, op_NE, op_LT, op_LE, op_GT, op_GE, op_IN, op_REG, op_NRE,
00074     op_Digit, op_String, op_Regex, op_Var, op_Func
00075 } ssl_expr_node_op;
00076 
00077 typedef struct {
00078     ssl_expr_node_op node_op;
00079     void *node_arg1;
00080     void *node_arg2;
00081     apr_pool_t *p;
00082 } ssl_expr_node;
00083 
00084 typedef ssl_expr_node ssl_expr;
00085 
00086 typedef struct {
00087         apr_pool_t *pool;
00088     char     *inputbuf;
00089     int       inputlen;
00090     char     *inputptr;
00091     ssl_expr *expr;
00092 } ssl_expr_info_type;
00093 
00094 extern ssl_expr_info_type ssl_expr_info;
00095 extern char *ssl_expr_error;
00096 
00097 #define yylval  ssl_expr_yylval
00098 #define yyerror ssl_expr_yyerror
00099 #define yyinput ssl_expr_yyinput
00100 
00101 extern int ssl_expr_yyparse(void);
00102 extern int ssl_expr_yyerror(char *);
00103 extern int ssl_expr_yylex(void);
00104 
00105 extern ssl_expr *ssl_expr_comp(apr_pool_t *, char *);
00106 extern int       ssl_expr_exec(request_rec *, ssl_expr *);
00107 extern char     *ssl_expr_get_error(void);
00108 extern ssl_expr *ssl_expr_make(ssl_expr_node_op, void *, void *);
00109 extern BOOL      ssl_expr_eval(request_rec *, ssl_expr *);
00110 
00111 #endif /* __SSL_EXPR_H__ */
00112 

Apacheに対してSun Jul 19 22:05:23 2009に生成されました。  doxygen 1.4.7