⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svn_error_codes.h

📁 linux subdivision ying gai ke yi le ba
💻 H
📖 第 1 页 / 共 3 页
字号:
/**
 * @copyright
 * ====================================================================
 * Copyright (c) 2000-2004 CollabNet.  All rights reserved.
 *
 * This software is licensed as described in the file COPYING, which
 * you should have received as part of this distribution.  The terms
 * are also available at http://subversion.tigris.org/license-1.html.
 * If newer versions of this license are posted there, you may use a
 * newer version instead, at your option.
 *
 * This software consists of voluntary contributions made by many
 * individuals.  For exact contribution history, see the revision
 * history and logs, available at http://subversion.tigris.org/.
 * ====================================================================
 * @endcopyright
 *
 * @file svn_error_codes.h
 * @brief Subversion error codes.
 */

/* What's going on here?
 
   In order to define error codes and their associated description
   strings in the same place, we overload the SVN_ERRDEF() macro with
   two definitions below.  Both take two arguments, an error code name
   and a description string.  One definition of the macro just throws
   away the string and defines enumeration constants using the error
   code names -- that definition is used by the header file that
   exports error codes to the rest of Subversion.  The other
   definition creates a static table mapping the enum codes to their
   corresponding strings -- that definition is used by the C file that
   implements svn_strerror().
 
   The header and C files both include this file, using #defines to
   control which version of the macro they get.  
*/


/* Process this file if we're building an error array, or if we have
   not defined the enumerated constants yet.  */
#if defined(SVN_ERROR_BUILD_ARRAY) || !defined(SVN_ERROR_ENUM_DEFINED)


#include <apr.h>
#include <apr_errno.h>     /* APR's error system */

#include "svn_props.h"     /* For SVN_PROP_EXTERNALS. */

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

#if defined(SVN_ERROR_BUILD_ARRAY)

#define SVN_ERROR_START \
        static const err_defn error_table[] = { \
          { SVN_WARNING, "Warning" },
#define SVN_ERRDEF(num, offset, str) { num, str },
#define SVN_ERROR_END { 0, NULL } };

#elif !defined(SVN_ERROR_ENUM_DEFINED)

#define SVN_ERROR_START \
        typedef enum svn_errno_t { \
          SVN_WARNING = APR_OS_START_USERERR + 1,
#define SVN_ERRDEF(num, offset, str) /** str */ num = offset,
#define SVN_ERROR_END SVN_ERR_LAST } svn_errno_t;

#define SVN_ERROR_ENUM_DEFINED

#endif

/* Define custom Subversion error numbers, in the range reserved for
   that in APR: from APR_OS_START_USERERR to APR_OS_START_SYSERR (see
   apr_errno.h).

   Error numbers are divided into categories of up to 5000 errors
   each.  Since we're dividing up the APR user error space, which has
   room for 500,000 errors, we can have up to 100 categories.
   Categories are fixed-size; if a category has fewer than 5000
   errors, then it just ends with a range of unused numbers.

   To maintain binary compatibility, please observe these guidelines:

      - When adding a new error, always add on the end of the
        appropriate category, so that the real values of existing
        errors are not changed.

      - When deleting an error, leave a placeholder comment indicating
        the offset, again so that the values of other errors are not
        perturbed.
*/

#ifndef DOXYGEN_SHOULD_SKIP_THIS

#define SVN_ERR_CATEGORY_SIZE 5000

/* Leave one category of room at the beginning, for SVN_WARNING and
   any other such beasts we might create in the future. */
#define SVN_ERR_BAD_CATEGORY_START      (APR_OS_START_USERERR \
                                          + ( 1 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_XML_CATEGORY_START      (APR_OS_START_USERERR \
                                          + ( 2 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_IO_CATEGORY_START       (APR_OS_START_USERERR \
                                          + ( 3 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_STREAM_CATEGORY_START   (APR_OS_START_USERERR \
                                          + ( 4 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_NODE_CATEGORY_START     (APR_OS_START_USERERR \
                                          + ( 5 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_ENTRY_CATEGORY_START    (APR_OS_START_USERERR \
                                          + ( 6 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_WC_CATEGORY_START       (APR_OS_START_USERERR \
                                          + ( 7 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_FS_CATEGORY_START       (APR_OS_START_USERERR \
                                          + ( 8 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_REPOS_CATEGORY_START    (APR_OS_START_USERERR \
                                          + ( 9 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_RA_CATEGORY_START       (APR_OS_START_USERERR \
                                          + (10 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_RA_DAV_CATEGORY_START   (APR_OS_START_USERERR \
                                          + (11 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_RA_LOCAL_CATEGORY_START (APR_OS_START_USERERR \
                                          + (12 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_SVNDIFF_CATEGORY_START  (APR_OS_START_USERERR \
                                          + (13 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_APMOD_CATEGORY_START    (APR_OS_START_USERERR \
                                          + (14 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_CLIENT_CATEGORY_START   (APR_OS_START_USERERR \
                                          + (15 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_MISC_CATEGORY_START     (APR_OS_START_USERERR \
                                           + (16 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_CL_CATEGORY_START       (APR_OS_START_USERERR \
                                           + (17 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_RA_SVN_CATEGORY_START   (APR_OS_START_USERERR \
                                           + (18 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_AUTHN_CATEGORY_START    (APR_OS_START_USERERR \
                                           + (19 * SVN_ERR_CATEGORY_SIZE))
#define SVN_ERR_AUTHZ_CATEGORY_START    (APR_OS_START_USERERR \
                                           + (20 * SVN_ERR_CATEGORY_SIZE))

#endif /* DOXYGEN_SHOULD_SKIP_THIS */

SVN_ERROR_START

  /* validation ("BAD_FOO") errors */

  SVN_ERRDEF (SVN_ERR_BAD_CONTAINING_POOL,
              SVN_ERR_BAD_CATEGORY_START + 0,
              "Bad parent pool passed to svn_make_pool()")

  SVN_ERRDEF (SVN_ERR_BAD_FILENAME,
              SVN_ERR_BAD_CATEGORY_START + 1,
              "Bogus filename")

  SVN_ERRDEF (SVN_ERR_BAD_URL,
              SVN_ERR_BAD_CATEGORY_START + 2,
              "Bogus URL")

  SVN_ERRDEF (SVN_ERR_BAD_DATE,
              SVN_ERR_BAD_CATEGORY_START + 3,
              "Bogus date")

  SVN_ERRDEF (SVN_ERR_BAD_MIME_TYPE,
              SVN_ERR_BAD_CATEGORY_START + 4,
              "Bogus mime-type")

  /* UNUSED error slot:                  + 5 */

  SVN_ERRDEF (SVN_ERR_BAD_VERSION_FILE_FORMAT,
              SVN_ERR_BAD_CATEGORY_START + 6,
              "Version file format not correct")

  /* xml errors */

  SVN_ERRDEF (SVN_ERR_XML_ATTRIB_NOT_FOUND,
              SVN_ERR_XML_CATEGORY_START + 0,
              "No such XML tag attribute")

  SVN_ERRDEF (SVN_ERR_XML_MISSING_ANCESTRY,
              SVN_ERR_XML_CATEGORY_START + 1,
              "<delta-pkg> is missing ancestry")

  SVN_ERRDEF (SVN_ERR_XML_UNKNOWN_ENCODING,
              SVN_ERR_XML_CATEGORY_START + 2,
              "Unrecognized binary data encoding; can't decode")

  SVN_ERRDEF (SVN_ERR_XML_MALFORMED,
              SVN_ERR_XML_CATEGORY_START + 3,
              "XML data was not well-formed")

  /* io errors */

  SVN_ERRDEF (SVN_ERR_IO_INCONSISTENT_EOL,
              SVN_ERR_IO_CATEGORY_START + 0,
              "Inconsistent line ending style")

  SVN_ERRDEF (SVN_ERR_IO_UNKNOWN_EOL,
              SVN_ERR_IO_CATEGORY_START + 1,
              "Unrecognized line ending style")

  SVN_ERRDEF (SVN_ERR_IO_CORRUPT_EOL,
              SVN_ERR_IO_CATEGORY_START + 2,
              "Line endings other than expected")

  SVN_ERRDEF (SVN_ERR_IO_UNIQUE_NAMES_EXHAUSTED,
              SVN_ERR_IO_CATEGORY_START + 3,
              "Ran out of unique names")

  SVN_ERRDEF (SVN_ERR_IO_PIPE_FRAME_ERROR,
              SVN_ERR_IO_CATEGORY_START + 4,
              "Framing error in pipe protocol")

  SVN_ERRDEF (SVN_ERR_IO_PIPE_READ_ERROR,
              SVN_ERR_IO_CATEGORY_START + 5,
              "Read error in pipe")

  SVN_ERRDEF (SVN_ERR_IO_WRITE_ERROR,
              SVN_ERR_IO_CATEGORY_START + 6,
              "Write error")

  /* stream errors */

  SVN_ERRDEF (SVN_ERR_STREAM_UNEXPECTED_EOF,
              SVN_ERR_STREAM_CATEGORY_START + 0,
              "Unexpected EOF on stream")

  SVN_ERRDEF (SVN_ERR_STREAM_MALFORMED_DATA,
              SVN_ERR_STREAM_CATEGORY_START + 1,
              "Malformed stream data")

  SVN_ERRDEF (SVN_ERR_STREAM_UNRECOGNIZED_DATA,
              SVN_ERR_STREAM_CATEGORY_START + 2,
              "Unrecognized stream data")

  /* node errors */

  SVN_ERRDEF (SVN_ERR_NODE_UNKNOWN_KIND,
              SVN_ERR_NODE_CATEGORY_START + 0,
              "Unknown svn_node_kind")

  SVN_ERRDEF (SVN_ERR_NODE_UNEXPECTED_KIND,
              SVN_ERR_NODE_CATEGORY_START + 1,
              "Unexpected node kind found")

  /* entry errors */

  SVN_ERRDEF (SVN_ERR_ENTRY_NOT_FOUND,
              SVN_ERR_ENTRY_CATEGORY_START + 0,
              "Can't find an entry")

  /* UNUSED error slot:                    + 1 */

  SVN_ERRDEF (SVN_ERR_ENTRY_EXISTS,
              SVN_ERR_ENTRY_CATEGORY_START + 2,
              "Entry already exists")

  SVN_ERRDEF (SVN_ERR_ENTRY_MISSING_REVISION,
              SVN_ERR_ENTRY_CATEGORY_START + 3,
              "Entry has no revision")

  SVN_ERRDEF (SVN_ERR_ENTRY_MISSING_URL,
              SVN_ERR_ENTRY_CATEGORY_START + 4,
              "Entry has no URL")

  SVN_ERRDEF (SVN_ERR_ENTRY_ATTRIBUTE_INVALID,
              SVN_ERR_ENTRY_CATEGORY_START + 5,
              "Entry has an invalid attribute")

  /* wc errors */

  SVN_ERRDEF (SVN_ERR_WC_OBSTRUCTED_UPDATE,
              SVN_ERR_WC_CATEGORY_START + 0,
              "Obstructed update")

  SVN_ERRDEF (SVN_ERR_WC_UNWIND_MISMATCH,
              SVN_ERR_WC_CATEGORY_START + 1,
              "Mismatch popping the WC unwind stack")

  SVN_ERRDEF (SVN_ERR_WC_UNWIND_EMPTY,
              SVN_ERR_WC_CATEGORY_START + 2,
              "Attempt to pop empty WC unwind stack")

  SVN_ERRDEF (SVN_ERR_WC_UNWIND_NOT_EMPTY,
              SVN_ERR_WC_CATEGORY_START + 3,
              "Attempt to unlock with non-empty unwind stack")

  SVN_ERRDEF (SVN_ERR_WC_LOCKED,
              SVN_ERR_WC_CATEGORY_START + 4,
              "Attempted to lock an already-locked dir")

  SVN_ERRDEF (SVN_ERR_WC_NOT_LOCKED,
              SVN_ERR_WC_CATEGORY_START + 5,
              "Working copy not locked")

  SVN_ERRDEF (SVN_ERR_WC_INVALID_LOCK,
              SVN_ERR_WC_CATEGORY_START + 6,
              "Invalid lock")

  SVN_ERRDEF (SVN_ERR_WC_NOT_DIRECTORY,
              SVN_ERR_WC_CATEGORY_START + 7,
              "Path is not a working copy directory")

  SVN_ERRDEF (SVN_ERR_WC_NOT_FILE,
              SVN_ERR_WC_CATEGORY_START + 8,
              "Path is not a working copy file")

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -