Add include files for msys-crypto-0.9.8.dll
[msysgit.git] / include / subversion-1 / svn_dav.h
blob1f900137e9a94f6e216ae233af9828ad74d222a2
1 /**
2 * @copyright
3 * ====================================================================
4 * Copyright (c) 2000-2004 CollabNet. All rights reserved.
6 * This software is licensed as described in the file COPYING, which
7 * you should have received as part of this distribution. The terms
8 * are also available at http://subversion.tigris.org/license-1.html.
9 * If newer versions of this license are posted there, you may use a
10 * newer version instead, at your option.
12 * This software consists of voluntary contributions made by many
13 * individuals. For exact contribution history, see the revision
14 * history and logs, available at http://subversion.tigris.org/.
15 * ====================================================================
16 * @endcopyright
18 * @file svn_dav.h
19 * @brief Code related to WebDAV/DeltaV usage in Subversion.
25 #ifndef SVN_DAV_H
26 #define SVN_DAV_H
29 #ifdef __cplusplus
30 extern "C" {
31 #endif /* __cplusplus */
34 /** This is the MIME type that Subversion uses for its "svndiff" format.
36 * This is an application type, for the "svn" vendor. The specific subtype
37 * is "svndiff".
39 #define SVN_SVNDIFF_MIME_TYPE "application/vnd.svn-svndiff"
42 /** This header is *TEMPORARILY* used to transmit the delta base to the
43 * server. It contains a version resource URL for what is on the client.
45 #define SVN_DAV_DELTA_BASE_HEADER "X-SVN-VR-Base"
47 /** This header is used when an svn client wants to trigger specific
48 * svn server behaviors. Normal WebDAV or DeltaV clients won't use it.
50 #define SVN_DAV_OPTIONS_HEADER "X-SVN-Options"
52 /**
53 * @name options-header defines
54 * Specific options that can appear in the options-header:
55 * @{
57 #define SVN_DAV_OPTION_NO_MERGE_RESPONSE "no-merge-response"
58 #define SVN_DAV_OPTION_LOCK_BREAK "lock-break"
59 #define SVN_DAV_OPTION_LOCK_STEAL "lock-steal"
60 #define SVN_DAV_OPTION_RELEASE_LOCKS "release-locks"
61 #define SVN_DAV_OPTION_KEEP_LOCKS "keep-locks"
62 /** @} */
64 /** This header is used when an svn client wants to tell mod_dav_svn
65 * exactly what revision of a resource it thinks it's operating on.
66 * (For example, an svn server can use it to validate a DELETE request.)
67 * Normal WebDAV or DeltaV clients won't use it.
69 #define SVN_DAV_VERSION_NAME_HEADER "X-SVN-Version-Name"
71 /** A header generated by mod_dav_svn whenever it responds
72 successfully to a LOCK request. Only svn clients will notice it,
73 and use it to fill in svn_lock_t->creation_date. */
74 #define SVN_DAV_CREATIONDATE_HEADER "X-SVN-Creation-Date"
76 /** A header generated by mod_dav_svn whenever it responds
77 successfully to a PROPFIND for the 'DAV:lockdiscovery' property.
78 Only svn clients will notice it, and use it to fill in
79 svn_lock_t->owner. (Remember that the DAV:owner field maps to
80 svn_lock_t->comment, and that there is no analogue in the DAV
81 universe of svn_lock_t->owner.) */
82 #define SVN_DAV_LOCK_OWNER_HEADER "X-SVN-Lock-Owner"
85 /**
86 * @name Fulltext MD5 headers
88 * These headers are for client and server to verify that the base
89 * and the result of a change transmission are the same on both
90 * sides, regardless of what transformations (svndiff deltification,
91 * gzipping, etc) the data may have gone through in between.
93 * The result md5 is always used whenever file contents are
94 * transferred, because every transmission has a resulting text.
96 * The base md5 is used to verify the base text against which svndiff
97 * data is being applied. Note that even for svndiff transmissions,
98 * base verification is not strictly necessary (and may therefore be
99 * unimplemented), as any error will be caught by the verification of
100 * the final result. However, if the problem is that the base text is
101 * corrupt, the error will be caught earlier if the base md5 is used.
103 * Normal WebDAV or DeltaV clients don't use these.
104 * @{
106 #define SVN_DAV_BASE_FULLTEXT_MD5_HEADER "X-SVN-Base-Fulltext-MD5"
107 #define SVN_DAV_RESULT_FULLTEXT_MD5_HEADER "X-SVN-Result-Fulltext-MD5"
108 /** @} */
110 /* ### should add strings for the various XML elements in the reports
111 ### and things. also the custom prop names. etc.
114 /** The svn-specific object that is placed within a <D:error> response.
116 * @defgroup svn_dav_error svn_dav errors
117 * @{ */
119 /** The error object's namespace */
120 #define SVN_DAV_ERROR_NAMESPACE "svn:"
122 /** The error object's tag */
123 #define SVN_DAV_ERROR_TAG "error"
125 /** @} */
128 /** General property (xml) namespaces that will be used by both ra_dav
129 * and mod_dav_svn for marshalling properties.
131 * @defgroup svn_dav_property_xml_namespaces dav property namespaces
132 * @{
135 /** A property stored in the fs and wc, begins with 'svn:', and is
136 * interpreted either by client or server.
138 #define SVN_DAV_PROP_NS_SVN "http://subversion.tigris.org/xmlns/svn/"
140 /** A property stored in the fs and wc, but totally ignored by svn
141 * client and server.
143 * A property simply invented by the users.
145 #define SVN_DAV_PROP_NS_CUSTOM "http://subversion.tigris.org/xmlns/custom/"
147 /** A property purely generated and consumed by the network layer, not
148 * seen by either fs or wc.
150 #define SVN_DAV_PROP_NS_DAV "http://subversion.tigris.org/xmlns/dav/"
152 /** @} */
154 #ifdef __cplusplus
156 #endif /* __cplusplus */
158 #endif /* SVN_DAV_H */