Loading...
Searching...
No Matches
svn_types_impl.h
Go to the documentation of this file.
/**
* @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 */
svn_error_t
Subversion error object.
Definition svn_types.h:181
svn_depth_t
svn_depth_t
The concept of depth for directories.
Definition svn_types_impl.h:111
svn_depth_files
@ svn_depth_files
D + its file children, but not subdirs.
Definition svn_types_impl.h:138
svn_depth_exclude
@ svn_depth_exclude
Exclude (i.e., don't descend into) directory D.
Definition svn_types_impl.h:130
svn_depth_immediates
@ svn_depth_immediates
D + immediate children (D and its entries).
Definition svn_types_impl.h:143
svn_depth_empty
@ svn_depth_empty
Just the named directory D, no entries.
Definition svn_types_impl.h:134
svn_depth_infinity
@ svn_depth_infinity
D + all descendants (full recursion from D).
Definition svn_types_impl.h:149
svn_depth_unknown
@ svn_depth_unknown
Depth undetermined or ignored.
Definition svn_types_impl.h:119
svn_tristate_t
svn_tristate_t
Generic three-state property to represent an unknown value for values that are just like booleans.
Definition svn_types_impl.h:83
svn_tristate_unknown
@ svn_tristate_unknown
state could be true or false
Definition svn_types_impl.h:89
svn_tristate_true
@ svn_tristate_true
state known to be true
Definition svn_types_impl.h:87
svn_tristate_false
@ svn_tristate_false
state known to be false (the constant does not evaulate to false)
Definition svn_types_impl.h:85
svn_node_kind_t
svn_node_kind_t
The various types of nodes in the Subversion filesystem.
Definition svn_types_impl.h:51
svn_node_symlink
@ svn_node_symlink
symbolic link
Definition svn_types_impl.h:69
svn_node_unknown
@ svn_node_unknown
something's here, but we don't know what
Definition svn_types_impl.h:62
svn_node_file
@ svn_node_file
regular file
Definition svn_types_impl.h:56
svn_node_dir
@ svn_node_dir
directory
Definition svn_types_impl.h:59
svn_node_none
@ svn_node_none
absent
Definition svn_types_impl.h:53
svn_revnum_t
long int svn_revnum_t
A revision number.
Definition svn_types_impl.h:95