| /* | |
| ** Licensed to the Apache Software Foundation (ASF) under one or more | |
| ** contributor license agreements. See the NOTICE file distributed with | |
| ** this work for additional information regarding copyright ownership. | |
| ** The ASF licenses this file to You under the Apache License, Version 2.0 | |
| ** (the "License"); you may not use this file except in compliance with | |
| ** the License. You may obtain a copy of the License at | |
| ** | |
| ** http://www.apache.org/licenses/LICENSE-2.0 | |
| ** | |
| ** Unless required by applicable law or agreed to in writing, software | |
| ** distributed under the License is distributed on an "AS IS" BASIS, | |
| ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| ** See the License for the specific language governing permissions and | |
| ** limitations under the License. | |
| */ | |
| #ifndef APREQ_ERROR_H | |
| #define APREQ_ERROR_H | |
| #include "apr_errno.h" | |
| #include "apreq.h" | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| /** | |
| * apreq's wrapper around apr_strerror(); | |
| * recognizes APREQ_ERROR_* status codes. | |
| */ | |
| APREQ_DECLARE(char *) | |
| apreq_strerror(apr_status_t s, char *buf, apr_size_t bufsize); | |
| /** | |
| * @file apreq_error.h | |
| * @brief Error status codes. | |
| * @ingroup libapreq2 | |
| * | |
| * Define the APREQ_ error codes. | |
| */ | |
| #ifndef APR_EBADARG | |
| /** | |
| * Bad Arguments return value | |
| * @see APR_BADARG | |
| */ | |
| #define APR_EBADARG APR_BADARG /* XXX: don't use APR_BADARG */ | |
| #endif | |
| /** Internal apreq error. */ | |
| #define APREQ_ERROR_GENERAL APR_OS_START_USERERR | |
| /** Attempted to perform unsafe action with tainted data. */ | |
| #define APREQ_ERROR_TAINTED (APREQ_ERROR_GENERAL + 1) | |
| /** Parsing interrupted. */ | |
| #define APREQ_ERROR_INTERRUPT (APREQ_ERROR_GENERAL + 2) | |
| /** Invalid input data. */ | |
| #define APREQ_ERROR_BADDATA (APREQ_ERROR_GENERAL + 10) | |
| /** Invalid character. */ | |
| #define APREQ_ERROR_BADCHAR (APREQ_ERROR_BADDATA + 1) | |
| /** Invalid byte sequence. */ | |
| #define APREQ_ERROR_BADSEQ (APREQ_ERROR_BADDATA + 2) | |
| /** Invalid attribute. */ | |
| #define APREQ_ERROR_BADATTR (APREQ_ERROR_BADDATA + 3) | |
| /** Invalid header. */ | |
| #define APREQ_ERROR_BADHEADER (APREQ_ERROR_BADDATA + 4) | |
| /** Invalid utf8 encoding. */ | |
| #define APREQ_ERROR_BADUTF8 (APREQ_ERROR_BADDATA + 5) | |
| /** Missing input data. */ | |
| #define APREQ_ERROR_NODATA (APREQ_ERROR_GENERAL + 20) | |
| /** Missing required token. */ | |
| #define APREQ_ERROR_NOTOKEN (APREQ_ERROR_NODATA + 1) | |
| /** Missing attribute. */ | |
| #define APREQ_ERROR_NOATTR (APREQ_ERROR_NODATA + 2) | |
| /** Missing header. */ | |
| #define APREQ_ERROR_NOHEADER (APREQ_ERROR_NODATA + 3) | |
| /** Missing parser. */ | |
| #define APREQ_ERROR_NOPARSER (APREQ_ERROR_NODATA + 4) | |
| /** Conflicting information. */ | |
| #define APREQ_ERROR_MISMATCH (APREQ_ERROR_GENERAL + 30) | |
| /** Exceeds configured maximum limit. */ | |
| #define APREQ_ERROR_OVERLIMIT (APREQ_ERROR_MISMATCH + 1) | |
| /** Below configured minimum limit. */ | |
| #define APREQ_ERROR_UNDERLIMIT (APREQ_ERROR_MISMATCH + 2) | |
| /** Setting already configured. */ | |
| #define APREQ_ERROR_NOTEMPTY (APREQ_ERROR_MISMATCH + 3) | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* APREQ_ERROR_H */ |