Apache Portable Runtime Utility Library
|
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 00017 #ifndef APR_STRMATCH_H 00018 #define APR_STRMATCH_H 00019 00024 #include "apu.h" 00025 #include "apr_pools.h" 00026 00027 #ifdef __cplusplus 00028 extern "C" { 00029 #endif 00030 00038 typedef struct apr_strmatch_pattern apr_strmatch_pattern; 00039 00043 struct apr_strmatch_pattern { 00045 const char *(*compare)(const apr_strmatch_pattern *this_pattern, 00046 const char *s, apr_size_t slen); 00047 const char *pattern; 00048 apr_size_t length; 00049 void *context; 00050 }; 00051 00052 #if defined(DOXYGEN) 00053 00061 APU_DECLARE(const char *) apr_strmatch(const apr_strmatch_pattern *pattern, 00062 const char *s, apr_size_t slen); 00063 #else 00064 #define apr_strmatch(pattern, s, slen) (*((pattern)->compare))((pattern), (s), (slen)) 00065 #endif 00066 00074 APU_DECLARE(const apr_strmatch_pattern *) apr_strmatch_precompile(apr_pool_t *p, const char *s, int case_sensitive); 00075 00077 #ifdef __cplusplus 00078 } 00079 #endif 00080 00081 #endif /* !APR_STRMATCH_H */