/* ** 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 */