diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2020-05-31 20:58:28 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2020-05-31 20:58:28 +0000 |
commit | bbee6e0814d5875b85b81f26fd4ca7a28b6f9570 (patch) | |
tree | 726fcf32b39ca8976d7aa51b67c7236509f1bde4 /subversion/include/svn_types_impl.h | |
parent | 38cef28c88864beaadac7a7cffdec6da952c3eb2 (diff) | |
download | src-bbee6e0814d5875b85b81f26fd4ca7a28b6f9570.tar.gz src-bbee6e0814d5875b85b81f26fd4ca7a28b6f9570.zip |
Vendor import svn-1.14.0.vendor/subversion/subversion-1.14.0vendor/subversion
Notes
Notes:
svn path=/vendor/subversion/dist/; revision=361669
svn path=/vendor/subversion/subversion-1.14.0/; revision=361670; tag=vendor/subversion/subversion-1.14.0
Diffstat (limited to 'subversion/include/svn_types_impl.h')
-rw-r--r-- | subversion/include/svn_types_impl.h | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/subversion/include/svn_types_impl.h b/subversion/include/svn_types_impl.h new file mode 100644 index 000000000000..625597f339eb --- /dev/null +++ b/subversion/include/svn_types_impl.h @@ -0,0 +1,157 @@ +/** + * @copyright + * ==================================================================== + * 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. + * ==================================================================== + * @endcopyright + * + * @file svn_types_impl.h + * @brief Subversion's data types (common implementation) + * + * @warning This is a @b private implementation-specific header file. + * User code should include @ref svn_types.h instead. + */ + +/* NOTE: + * This file *must not* include or depend on any other header except + * the C standard library headers. + */ + +#ifndef SVN_TYPES_IMPL_H +#define SVN_TYPES_IMPL_H + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +#ifndef DOXYGEN +/* Forward declaration of the error object. */ +struct svn_error_t; +#endif + + +/** The various types of nodes in the Subversion filesystem. */ +typedef enum svn_node_kind_t +{ + /** absent */ + svn_node_none, + + /** regular file */ + svn_node_file, + + /** directory */ + svn_node_dir, + + /** something's here, but we don't know what */ + svn_node_unknown, + + /** + * symbolic link + * @note This value is not currently used by the public API. + * @since New in 1.8. + */ + svn_node_symlink +} svn_node_kind_t; + + +/** Generic three-state property to represent an unknown value for values + * that are just like booleans. The values have been set deliberately to + * make tristates disjoint from #svn_boolean_t. + * + * @note It is unsafe to use apr_pcalloc() to allocate these, since '0' is + * not a valid value. + * + * @since New in 1.7. */ +/* NOTE: Update svnxx/tristate.hpp when changing this enum. */ +typedef enum svn_tristate_t +{ + /** state known to be false (the constant does not evaulate to false) */ + svn_tristate_false = 2, + /** state known to be true */ + svn_tristate_true, + /** state could be true or false */ + svn_tristate_unknown +} svn_tristate_t; + + +/** A revision number. */ +/* NOTE: Update svnxx/revision.hpp when changing this typedef. */ +typedef long int svn_revnum_t; + +/** The 'official' invalid revision number. */ +/* NOTE: Update svnxx/revision.hpp when changing this definition. */ +#define SVN_INVALID_REVNUM ((svn_revnum_t) -1) + + +/** The concept of depth for directories. + * + * @note This is similar to, but not exactly the same as, the WebDAV + * and LDAP concepts of depth. + * + * @since New in 1.5. + */ +/* NOTE: Update svnxx/depth.hpp when changing this enum. */ +typedef enum svn_depth_t +{ + /* The order of these depths is important: the higher the number, + the deeper it descends. This allows us to compare two depths + numerically to decide which should govern. */ + + /** Depth undetermined or ignored. In some contexts, this means the + client should choose an appropriate default depth. The server + will generally treat it as #svn_depth_infinity. */ + svn_depth_unknown = -2, + + /** Exclude (i.e., don't descend into) directory D. + @note In Subversion 1.5, svn_depth_exclude is *not* supported + anywhere in the client-side (libsvn_wc/libsvn_client/etc) code; + it is only supported as an argument to set_path functions in the + ra and repos reporters. (This will enable future versions of + Subversion to run updates, etc, against 1.5 servers with proper + svn_depth_exclude behavior, once we get a chance to implement + client-side support for svn_depth_exclude.) + */ + svn_depth_exclude = -1, + + /** Just the named directory D, no entries. Updates will not pull in + any files or subdirectories not already present. */ + svn_depth_empty = 0, + + /** D + its file children, but not subdirs. Updates will pull in any + files not already present, but not subdirectories. */ + svn_depth_files = 1, + + /** D + immediate children (D and its entries). Updates will pull in + any files or subdirectories not already present; those + subdirectories' this_dir entries will have depth-empty. */ + svn_depth_immediates = 2, + + /** D + all descendants (full recursion from D). Updates will pull + in any files or subdirectories not already present; those + subdirectories' this_dir entries will have depth-infinity. + Equivalent to the pre-1.5 default update behavior. */ + svn_depth_infinity = 3 + +} svn_depth_t; + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* SVN_TYPES_IMPL_H */ |