1 /* fs_skels.h : headers for conversion between fs native types and
4 * ====================================================================
5 * Copyright (c) 2000-2004 CollabNet. All rights reserved.
7 * This software is licensed as described in the file COPYING, which
8 * you should have received as part of this distribution. The terms
9 * are also available at http://subversion.tigris.org/license-1.html.
10 * If newer versions of this license are posted there, you may use a
11 * newer version instead, at your option.
13 * This software consists of voluntary contributions made by many
14 * individuals. For exact contribution history, see the revision
15 * history and logs, available at http://subversion.tigris.org/.
16 * ====================================================================
19 #ifndef SVN_LIBSVN_FS_FS_SKELS_H
20 #define SVN_LIBSVN_FS_FS_SKELS_H
25 #include <apr_pools.h>
34 #endif /* __cplusplus */
37 /*** Parsing (conversion from skeleton to native FS type) ***/
40 /* Parse a `PROPLIST' SKEL into a regular hash of properties,
41 *PROPLIST_P, which has const char * property names, and
42 svn_string_t * values, or NULL if SKEL contains no properties. Use
43 POOL for all allocations. */
45 svn_fs_base__parse_proplist_skel(apr_hash_t
**proplist_p
,
49 /* Parse a `REVISION' SKEL into *REVISION_P. Use POOL for all
52 svn_fs_base__parse_revision_skel(revision_t
**revision_p
,
56 /* Parse a `TRANSACTION' SKEL into *TRANSACTION_P. Use POOL for all
59 svn_fs_base__parse_transaction_skel(transaction_t
**transaction_p
,
63 /* Parse a `REPRESENTATION' SKEL into *REP_P. Use POOL for all
67 svn_fs_base__parse_representation_skel(representation_t
**rep_p
,
71 /* Parse a `NODE-REVISION' SKEL into *NODEREV_P. Use POOL for all
74 svn_fs_base__parse_node_revision_skel(node_revision_t
**noderev_p
,
78 /* Parse a `COPY' SKEL into *COPY_P. Use POOL for all allocations. */
80 svn_fs_base__parse_copy_skel(copy_t
**copy_p
,
84 /* Parse an `ENTRIES' SKEL into *ENTRIES_P, which is a hash with const
85 char * names (the directory entry name) and svn_fs_id_t * values
86 (the node-id of the entry), or NULL if SKEL contains no entries.
87 Use POOL for all allocations. */
89 svn_fs_base__parse_entries_skel(apr_hash_t
**entries_p
,
93 /* Parse a `CHANGE' SKEL into *CHANGE_P. Use POOL for all allocations. */
95 svn_fs_base__parse_change_skel(change_t
**change_p
,
99 /* Parse a `LOCK' SKEL into *LOCK_P. Use POOL for all allocations. */
101 svn_fs_base__parse_lock_skel(svn_lock_t
**lock_p
,
107 /*** Unparsing (conversion from native FS type to skeleton) ***/
110 /* Unparse a PROPLIST hash (which has const char * property names and
111 svn_stringbuf_t * values) into a `PROPLIST' skel *SKEL_P. Use POOL
112 for all allocations. */
114 svn_fs_base__unparse_proplist_skel(skel_t
**skel_p
,
115 apr_hash_t
*proplist
,
118 /* Unparse REVISION into a `REVISION' skel *SKEL_P. Use POOL for all
121 svn_fs_base__unparse_revision_skel(skel_t
**skel_p
,
122 const revision_t
*revision
,
125 /* Unparse TRANSACTION into a `TRANSACTION' skel *SKEL_P. Use POOL
126 for all allocations. */
128 svn_fs_base__unparse_transaction_skel(skel_t
**skel_p
,
129 const transaction_t
*transaction
,
132 /* Unparse REP into a `REPRESENTATION' skel *SKEL_P. Use POOL for all
135 svn_fs_base__unparse_representation_skel(skel_t
**skel_p
,
136 const representation_t
*rep
,
140 /* Unparse NODEREV into a `NODE-REVISION' skel *SKEL_P. Use POOL for
141 all allocations. FORMAT is the format version of the filesystem. */
143 svn_fs_base__unparse_node_revision_skel(skel_t
**skel_p
,
144 const node_revision_t
*noderev
,
148 /* Unparse COPY into a `COPY' skel *SKEL_P. Use POOL for all
151 svn_fs_base__unparse_copy_skel(skel_t
**skel_p
,
155 /* Unparse an ENTRIES hash, which has const char * names (the entry
156 name) and svn_fs_id_t * values (the node-id of the entry) into an
157 `ENTRIES' skel *SKEL_P. Use POOL for all allocations. */
159 svn_fs_base__unparse_entries_skel(skel_t
**skel_p
,
163 /* Unparse CHANGE into a `CHANGE' skel *SKEL_P. Use POOL for all
166 svn_fs_base__unparse_change_skel(skel_t
**skel_p
,
167 const change_t
*change
,
170 /* Unparse LOCK into a `LOCK' skel *SKEL_P. Use POOL for all
173 svn_fs_base__unparse_lock_skel(skel_t
**skel_p
,
174 const svn_lock_t
*lock
,
181 #endif /* __cplusplus */
183 #endif /* SVN_LIBSVN_FS_FS_SKELS_H */