35 #include <apr_version.h> 
   36 #include <apr_errno.h>    
   37 #include <apr_pools.h>    
   39 #include <apr_tables.h>   
   41 #include <apr_strings.h>  
   53 #ifndef SVN_DEPRECATED 
   54 # if !defined(SWIGPERL) && !defined(SWIGPYTHON) && !defined(SWIGRUBY) 
   55 #  if defined(__GNUC__) && (__GNUC__ >= 4 || (__GNUC__==3 && __GNUC_MINOR__>=1)) 
   56 #   define SVN_DEPRECATED __attribute__((deprecated)) 
   57 #  elif defined(_MSC_VER) && _MSC_VER >= 1300 
   58 #   define SVN_DEPRECATED __declspec(deprecated) 
   60 #   define SVN_DEPRECATED 
   63 #  define SVN_DEPRECATED 
   72 #ifndef SVN_EXPERIMENTAL 
   73 # if !defined(SWIGPERL) && !defined(SWIGPYTHON) && !defined(SWIGRUBY) 
   74 #  if defined(__has_attribute) 
   75 #    if __has_attribute(__warning__) 
   76 #      define SVN_EXPERIMENTAL __attribute__((warning("experimental function used"))) 
   78 #      define SVN_EXPERIMENTAL 
   80 #  elif !defined(__llvm__) && defined(__GNUC__) \ 
   81       && (__GNUC__ >= 4 || (__GNUC__==3 && __GNUC_MINOR__>=1)) 
   82 #   define SVN_EXPERIMENTAL __attribute__((warning("experimental function used"))) 
   83 #  elif defined(_MSC_VER) && _MSC_VER >= 1300 
   84 #   define SVN_EXPERIMENTAL __declspec(deprecated("experimental function used")) 
   86 #   define SVN_EXPERIMENTAL 
   89 #  define SVN_EXPERIMENTAL 
   97 #ifndef SVN_NEEDS_SENTINEL_NULL 
   98 #  if defined(__has_attribute) 
   99 #    if __has_attribute(__sentinel__) 
  100 #      define SVN_NEEDS_SENTINEL_NULL __attribute__((sentinel)) 
  102 #      define SVN_NEEDS_SENTINEL_NULL 
  104 #  elif defined(__GNUC__) && (__GNUC__ >= 4) 
  105 #    define SVN_NEEDS_SENTINEL_NULL __attribute__((sentinel)) 
  107 #    define SVN_NEEDS_SENTINEL_NULL 
  126 #ifndef SVN_UNALIGNED_ACCESS_IS_OK 
  127 # if defined(_M_IX86) || defined(i386) \ 
  128      || defined(_M_X64) || defined(__x86_64) \ 
  129      || defined(__powerpc__) || defined(__ppc__) 
  130 #  define SVN_UNALIGNED_ACCESS_IS_OK 1 
  132 #  define SVN_UNALIGNED_ACCESS_IS_OK 0 
  157 struct svn__null_pointer_constant_stdarg_sentinel_t;
 
  168 #define SVN_VA_NULL ((struct svn__null_pointer_constant_stdarg_sentinel_t*)0) 
  237 #ifndef APR_ARRAY_IDX 
  238 #define APR_ARRAY_IDX(ary,i,type) (((type *)(ary)->elts)[i]) 
  242 #ifndef APR_ARRAY_PUSH 
  243 #define APR_ARRAY_PUSH(ary,type) (*((type *)apr_array_push(ary))) 
  259 #if !APR_VERSION_AT_LEAST(1, 5, 0) 
  285 #define SVN__APR_STATUS_IS_ENOTDIR(s)  APR_STATUS_IS_ENOTDIR(s) 
  287 #define SVN__APR_STATUS_IS_ENOTDIR(s)  (APR_STATUS_IS_ENOTDIR(s) \ 
  288                       || ((s) == APR_OS_START_SYSERR + ERROR_DIRECTORY) \ 
  289                       || ((s) == APR_OS_START_SYSERR + ERROR_INVALID_NAME)) 
  296 #define SVN__APR_STATUS_IS_EPIPE(s)  APR_STATUS_IS_EPIPE(s) 
  298 #define SVN__APR_STATUS_IS_EPIPE(s)  (APR_STATUS_IS_EPIPE(s) \ 
  299                       || ((s) == APR_OS_START_SYSERR + ERROR_NO_DATA)) 
  429 #define SVN_IS_VALID_REVNUM(n) ((n) >= 0) 
  432 #define SVN_INVALID_REVNUM ((svn_revnum_t) -1) 
  438 #define SVN_IGNORED_REVNUM ((svn_revnum_t) -1) 
  441 #define SVN_STR_TO_REV(str) ((svn_revnum_t) atol(str)) 
  457                  const char **endptr);
 
  468 #define SVN_REVNUM_T_FMT "ld" 
  476 #define SVN_INVALID_FILESIZE ((svn_filesize_t) -1) 
  479 #define SVN_FILESIZE_T_FMT APR_INT64_T_FMT 
  481 #ifndef DOXYGEN_SHOULD_SKIP_THIS 
  485 #define svn__atoui64(X) ((apr_uint64_t) apr_atoi64(X)) 
  493   svn_nonrecursive = 1,
 
  573 #define SVN_DEPTH_INFINITY_OR_FILES(recurse) \ 
  574   ((recurse) ? svn_depth_infinity : svn_depth_files) 
  584 #define SVN_DEPTH_INFINITY_OR_IMMEDIATES(recurse) \ 
  585   ((recurse) ? svn_depth_infinity : svn_depth_immediates) 
  595 #define SVN_DEPTH_INFINITY_OR_EMPTY(recurse) \ 
  596   ((recurse) ? svn_depth_infinity : svn_depth_empty) 
  605 #define SVN_DEPTH_IS_RECURSIVE(depth)                              \ 
  606   ((depth) == svn_depth_infinity || (depth) == svn_depth_unknown) 
  621 #define SVN_DIRENT_KIND        0x00001 
  624 #define SVN_DIRENT_SIZE        0x00002 
  627 #define SVN_DIRENT_HAS_PROPS   0x00004 
  630 #define SVN_DIRENT_CREATED_REV 0x00008 
  633 #define SVN_DIRENT_TIME        0x00010 
  636 #define SVN_DIRENT_LAST_AUTHOR 0x00020 
  639 #define SVN_DIRENT_ALL ~((apr_uint32_t ) 0) 
  728 #define SVN_KEYWORD_MAX_LEN    255 
  731 #define SVN_KEYWORD_REVISION_LONG    "LastChangedRevision" 
  734 #define SVN_KEYWORD_REVISION_SHORT   "Rev" 
  738 #define SVN_KEYWORD_REVISION_MEDIUM  "Revision" 
  741 #define SVN_KEYWORD_DATE_LONG        "LastChangedDate" 
  744 #define SVN_KEYWORD_DATE_SHORT       "Date" 
  747 #define SVN_KEYWORD_AUTHOR_LONG      "LastChangedBy" 
  750 #define SVN_KEYWORD_AUTHOR_SHORT     "Author" 
  753 #define SVN_KEYWORD_URL_LONG         "HeadURL" 
  756 #define SVN_KEYWORD_URL_SHORT        "URL" 
  759 #define SVN_KEYWORD_ID               "Id" 
  763 #define SVN_KEYWORD_HEADER           "Header" 
 1067   apr_hash_t *changed_paths,
 
 1068   svn_revnum_t revision,
 
 1071   const char *message,
 
 1094   svn_revnum_t new_revision,
 
 1108 #define SVN_STREAM_CHUNK_SIZE 102400 
 1110 #ifndef DOXYGEN_SHOULD_SKIP_THIS 
 1121 #define SVN__STREAM_CHUNK_SIZE 16384 
 1126 #define SVN_MAX_OBJECT_SIZE (((apr_size_t) -1) / 2) 
 1291   svn_revnum_t range_end;
 
 1333 #define SVN_LINENUM_MAX_VALUE ULONG_MAX 
 1362 #include "private/svn_debug.h" 
struct svn_log_changed_path_t svn_log_changed_path_t
A structure to represent a path that changed for a log entry. 
apr_hash_t * changed_paths
A hash containing as keys every path committed in revision; the values are (svn_log_changed_path_t *)...
const char * post_commit_err
error message from post-commit hook, or NULL. 
void * apr_hash_this_val(apr_hash_index_t *hi)
Return the value of the hash table entry indexed by hi. 
char action
'A'dd, 'D'elete, 'R'eplace, 'M'odify 
svn_commit_info_t * svn_commit_info_dup(const svn_commit_info_t *src_commit_info, apr_pool_t *pool)
Return a deep copy src_commit_info allocated in pool. 
const char * author
author of the commit. 
const char * repos_root
repository root, may be NULL if unknown. 
svn_depth_t
The concept of depth for directories. 
svn_lock_t * svn_lock_dup(const svn_lock_t *lock, apr_pool_t *pool)
Return a deep copy of lock, allocated in pool. 
svn_revnum_t created_rev
last rev in which this node changed 
const char * file
Source file where the error originated (iff SVN_DEBUG; undefined otherwise). 
svn_boolean_t svn_mime_type_is_binary(const char *mime_type)
Return FALSE iff mime_type is a textual type. 
svn_revnum_t revision
just-committed revision. 
svn_log_changed_path2_t * svn_log_changed_path2_create(apr_pool_t *pool)
Returns an svn_log_changed_path2_t, allocated in pool with all fields initialized to NULL...
svn_tristate_t
Generic three-state property to represent an unknown value for values that are just like booleans...
svn_error_t * svn_mime_type_validate(const char *mime_type, apr_pool_t *pool)
Validate mime_type. 
svn_tristate_t text_modified
Is the text modified, may be svn_tristate_unknown. 
const char * last_author
author of created_rev 
struct svn_log_entry_t svn_log_entry_t
A structure to represent all the information about a particular log entry. 
svn_commit_info_t * svn_create_commit_info(apr_pool_t *pool)
Allocate an object of type svn_commit_info_t in pool and return it. 
All information about a commit. 
const char * token
unique URI representing lock 
svn_boolean_t svn_merge_range_contains_rev(const svn_merge_range_t *range, svn_revnum_t rev)
Returns true if the changeset committed in revision rev is one of the changesets in the range range...
svn_recurse_kind
An enum to indicate whether recursion is needed. 
svn_node_kind_t node_kind
The type of the node, may be svn_node_unknown. 
svn_boolean_t is_dav_comment
was comment made by generic DAV client? 
svn_node_kind_t kind
node kind 
svn_revnum_t range_start
The beginning (oldest) and ending (youngest) revisions for this segment, both inclusive. 
svn_merge_range_t * svn_merge_range_dup(const svn_merge_range_t *range, apr_pool_t *pool)
Return a copy of range, allocated in pool. 
svn_log_entry_t * svn_log_entry_dup(const svn_log_entry_t *log_entry, apr_pool_t *pool)
Return a deep copy of log_entry, allocated in pool. 
svn_boolean_t has_props
does the node have props? 
D + all descendants (full recursion from D). 
Mergeinfo representing a merge of a range of revisions. 
svn_depth_t svn_depth_from_word(const char *word)
Return the appropriate depth for depth_str. 
struct svn_lock_t svn_lock_t
A lock object, for client & server to share. 
A lock object, for client & server to share. 
svn_filesize_t size
length of file text, or 0 for directories 
svn_log_changed_path_t * svn_log_changed_path_dup(const svn_log_changed_path_t *changed_path, apr_pool_t *pool)
Return a deep copy of changed_path, allocated in pool. 
const char * comment
(optional) description of lock 
svn_tristate_t svn_tristate__from_word(const char *word)
Return the appropriate tristate for word. 
svn_location_segment_t * svn_location_segment_dup(const svn_location_segment_t *segment, apr_pool_t *pool)
Return a deep copy of segment, allocated in pool. 
D + its file children, but not subdirs. 
svn_node_kind_t
The various types of nodes in the Subversion filesystem. 
apr_pool_t * pool
The pool in which this error object is allocated. 
svn_log_entry_t * svn_log_entry_create(apr_pool_t *pool)
Returns an svn_log_entry_t, allocated in pool with all fields initialized to NULL values...
svn_node_kind_t svn_node_kind_from_word(const char *word)
Return the appropriate node_kind for word. 
apr_time_t time
time of created_rev (mod-time) 
svn_dirent_t * svn_dirent_create(apr_pool_t *result_pool)
Create a new svn_dirent_t instance with all values initialized to their not-available values...
const char * message
Details from the producer of error. 
svn_tristate_t props_modified
Are properties modified, may be svn_tristate_unknown. 
const char * svn_depth_to_word(svn_depth_t depth)
Return a constant string expressing depth as an English word, e.g., "infinity", "immediates", etc. 
struct svn_error_t * child
Pointer to the error we "wrap" (may be NULL). 
const char * date
server-side date of the commit. 
svn_revnum_t revision
The revision of the commit. 
svn_boolean_t subtractive_merge
Whether revision is a merged revision resulting from a reverse merge. 
apr_status_t apr_err
APR error value; possibly an SVN_ custom error code (see `svn_error_codes.h' for a full listing)...
apr_int64_t svn_filesize_t
The size of a file in the Subversion FS. 
Depth undetermined or ignored. 
svn_dirent_t * svn_dirent_dup(const svn_dirent_t *dirent, apr_pool_t *pool)
Return a deep copy of dirent, allocated in pool. 
svn_log_changed_path2_t * svn_log_changed_path2_dup(const svn_log_changed_path2_t *changed_path, apr_pool_t *pool)
Return a deep copy of changed_path, allocated in pool. 
apr_hash_t * revprops
The hash of requested revision properties, which may be NULL if it would contain no revprops...
A structure to represent a path that changed for a log entry. 
svn_boolean_t non_inheritable
Whether revision should be interpreted as non-inheritable in the same sense of svn_merge_range_t. 
svn_boolean_t inheritable
Whether this merge range should be inherited by treewise descendants of the path to which the range a...
unsigned long svn_linenum_t
A line number, such as in a file or a stream. 
svn_error_t * svn_revnum_parse(svn_revnum_t *rev, const char *str, const char **endptr)
Parse NULL-terminated C string str as a revision number and store its value in rev. 
const char * copyfrom_path
Source path of copy (if any). 
D + immediate children (D and its entries). 
A structure to represent a path that changed for a log entry. 
something's here, but we don't know what 
apr_hash_t * changed_paths2
A hash containing as keys every path committed in revision; the values are (svn_log_changed_path2_t *...
svn_boolean_t has_children
Whether or not this message has children. 
const char * copyfrom_path
Source path of copy (if any). 
#define SVN_DEPRECATED
Macro used to mark deprecated functions. 
struct svn_merge_range_t svn_merge_range_t
Mergeinfo representing a merge of a range of revisions. 
const char * path
The absolute (sans leading slash) path for this segment. 
const char * svn_uuid_generate(apr_pool_t *pool)
Return a formatted Universal Unique IDentifier (UUID) string. 
struct svn_log_changed_path2_t svn_log_changed_path2_t
A structure to represent a path that changed for a log entry. 
struct svn_dirent_t svn_dirent_t
A general subversion directory entry. 
struct svn_error_t svn_error_t
Subversion error object. 
A general subversion directory entry. 
Common exception handling for Subversion. 
long line
Source line where the error originated (iff SVN_DEBUG; undefined otherwise). 
long int svn_revnum_t
About Special Files in Subversion. 
const char * path
the path this lock applies to 
apr_time_t expiration_date
(optional) when lock will expire; If value is 0, lock will never expire. 
const char * owner
the username which owns the lock 
const void * apr_hash_this_key(apr_hash_index_t *hi)
Return the key of the hash table entry indexed by hi. 
char action
'A'dd, 'D'elete, 'R'eplace, 'M'odify 
state could be true or false 
svn_lock_t * svn_lock_create(apr_pool_t *pool)
Returns an svn_lock_t, allocated in pool with all fields initialized to NULL values. 
int svn_boolean_t
YABT: Yet Another Boolean Type. 
state known to be false (the constant does not evaulate to false) 
const char * svn_tristate__to_word(svn_tristate_t tristate)
Return a constant string "true", "false" or NULL representing the value of tristate. 
Just the named directory D, no entries. 
const char * svn_node_kind_to_word(svn_node_kind_t kind)
Return a constant string expressing kind as an English word, e.g., "file", "dir", etc...
svn_revnum_t copyfrom_rev
Source revision of copy (if any). 
Exclude (i.e., don't descend into) directory D. 
svn_revnum_t start
If the 'start' field is less than the 'end' field then 'start' is exclusive and 'end' inclusive of th...
svn_revnum_t copyfrom_rev
Source revision of copy (if any). 
struct svn_location_segment_t svn_location_segment_t
A representation of a segment of an object's version history with an emphasis on the object's locatio...
struct svn_commit_info_t svn_commit_info_t
All information about a commit. 
A structure to represent all the information about a particular log entry. 
apr_ssize_t apr_hash_this_key_len(apr_hash_index_t *hi)
Return the key length of the hash table entry indexed by hi. 
A representation of a segment of an object's version history with an emphasis on the object's locatio...
apr_time_t creation_date
when lock was made