Main Page | Modules | Data Structures | File List | Data Fields

/extra/work/state-dev/src/sos/sos_depends.h

00001 /* ----------------------------------------------------------------------------
00002  * $Id: sos_depends.h,v 1.5 2003/10/06 20:47:36 jlewalle Exp $
00003  *
00004  * --------------------------------------------------------------------------*/
00005 #if !defined(_INCLUDED_SOS_DEPENDS_H_HEADER__)
00006 #define _INCLUDED_SOS_DEPENDS_H_HEADER__
00007 
00014 SUL_PEER_DECLARE(node_deps);
00015 
00020 typedef struct sos_dependencies_t
00021 {
00022   apr_array_header_t *edges;
00023   apr_hash_t *hash_on;
00024   apr_hash_t *hash_of;
00025 } sos_dependencies_t;
00026 
00031 typedef struct sos_dep_edge_t
00032 {
00033   sul_key_t of_id;
00034   sul_key_t on_id;
00035   sul_boolean_t nflag;
00036 } sos_dep_edge_t;
00037 
00046 SOS_DECLARE(sul_error_t *)
00047 sos_dependencies_create_nodes(sos_dependencies_t **deps, sos_fs_txn_t *txn,
00048                               apr_pool_t *pool);
00049 
00058 SOS_DECLARE(sul_error_t *)
00059 sos_dependencies_create_empty(sos_dependencies_t **deps, sos_fs_txn_t *txn,
00060                               apr_pool_t *pool);
00061 
00068 SOS_DECLARE(sul_error_t *)
00069 sos_dependencies_build_tables(sos_dependencies_t *deps, apr_pool_t *pool);
00070 
00079 SOS_DECLARE(sul_error_t *)
00080 sos_dependencies_get_below(apr_array_header_t **edges,
00081                            sos_dependencies_t *deps, sul_key_t id,
00082                            apr_pool_t *pool);
00083 
00092 SOS_DECLARE(sul_error_t *)
00093 sos_dependencies_get_above(apr_array_header_t **edges,
00094                            sos_dependencies_t *deps, sul_key_t id,
00095                            apr_pool_t *pool);
00096 
00106 SOS_DECLARE(sul_error_t *)
00107 sos_dependencies_find(sos_dependencies_t *deps, sos_dep_edge_t **edge, 
00108                       sul_key_t of_id, sul_key_t on_id, apr_pool_t *pool);
00109 
00119 SOS_DECLARE(sul_error_t *)
00120 sos_dependencies_add(sos_dependencies_t *deps, sos_dep_edge_t **edge, 
00121                      sul_key_t of_id, sul_key_t on_id, apr_pool_t *pool);
00122 
00130 SOS_DECLARE(sul_error_t *)
00131 sos_dependencies_save(sos_dependencies_t *deps, sos_fs_txn_t *txn, 
00132                       apr_pool_t *pool);
00133 
00136 #endif

Generated on Wed Apr 28 09:38:33 2004 for State by doxygen 1.3.5