GME  13
apr_lib.h
Go to the documentation of this file.
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_LIB_H
00018 #define APR_LIB_H
00019 
00028 #include "apr.h"
00029 #include "apr_errno.h"
00030 
00031 #if APR_HAVE_CTYPE_H
00032 #include <ctype.h>
00033 #endif
00034 #if APR_HAVE_STDARG_H
00035 #include <stdarg.h>
00036 #endif
00037 
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif /* __cplusplus */
00041 
00052 #define HUGE_STRING_LEN 8192
00053 
00054 /*
00055  * Define the structures used by the APR general-purpose library.
00056  */
00057 
00059 typedef struct apr_vformatter_buff_t apr_vformatter_buff_t;
00060 
00064 struct apr_vformatter_buff_t {
00066     char *curpos;
00068     char *endpos;
00069 };
00070 
00084 APR_DECLARE(const char *) apr_filepath_name_get(const char *pathname);
00085 
00092 #ifdef WIN32
00093 #define apr_killpg(x, y)
00094 #else /* WIN32 */
00095 #ifdef NO_KILLPG
00096 #define apr_killpg(x, y)        (kill (-(x), (y)))
00097 #else /* NO_KILLPG */
00098 #define apr_killpg(x, y)        (killpg ((x), (y)))
00099 #endif /* NO_KILLPG */
00100 #endif /* WIN32 */
00101 
00174 APR_DECLARE(int) apr_vformatter(int (*flush_func)(apr_vformatter_buff_t *b),
00175                                 apr_vformatter_buff_t *c, const char *fmt,
00176                                 va_list ap);
00177 
00189 APR_DECLARE(apr_status_t) apr_password_get(const char *prompt, char *pwbuf, 
00190                                            apr_size_t *bufsize);
00191 
00203 #define apr_isalnum(c) (isalnum(((unsigned char)(c))))
00204 
00205 #define apr_isalpha(c) (isalpha(((unsigned char)(c))))
00206 
00207 #define apr_iscntrl(c) (iscntrl(((unsigned char)(c))))
00208 
00209 #define apr_isdigit(c) (isdigit(((unsigned char)(c))))
00210 
00211 #define apr_isgraph(c) (isgraph(((unsigned char)(c))))
00212 
00213 #define apr_islower(c) (islower(((unsigned char)(c))))
00214 
00215 #ifdef isascii
00216 #define apr_isascii(c) (isascii(((unsigned char)(c))))
00217 #else
00218 #define apr_isascii(c) (((c) & ~0x7f)==0)
00219 #endif
00220 
00221 #define apr_isprint(c) (isprint(((unsigned char)(c))))
00222 
00223 #define apr_ispunct(c) (ispunct(((unsigned char)(c))))
00224 
00225 #define apr_isspace(c) (isspace(((unsigned char)(c))))
00226 
00227 #define apr_isupper(c) (isupper(((unsigned char)(c))))
00228 
00229 #define apr_isxdigit(c) (isxdigit(((unsigned char)(c))))
00230 
00231 #define apr_tolower(c) (tolower(((unsigned char)(c))))
00232 
00233 #define apr_toupper(c) (toupper(((unsigned char)(c))))
00234 
00237 #ifdef __cplusplus
00238 }
00239 #endif
00240 
00241 #endif  /* ! APR_LIB_H */