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

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

00001 /* ----------------------------------------------------------------------------
00002  * $Id: sos_vitals.h,v 1.13 2004/01/23 19:17:56 jlewalle Exp $
00003  *
00004  * --------------------------------------------------------------------------*/
00005 #if !defined(_INCLUDED_SOS_VITALS_H_HEADER__)
00006 #define _INCLUDED_SOS_VITALS_H_HEADER__
00007 
00014 SUL_PEER_DECLARE(vital_types);
00015 
00019 typedef struct sos_vital_type_t
00020 {
00021   sul_key_t identifier;
00022   char *name;
00023   sul_boolean_t ack;
00024 } sos_vital_type_t;
00025 
00034 SOS_DECLARE(sul_error_t *)
00035 sos_vital_type_get_all(apr_array_header_t **array, sos_fs_txn_t *txn, 
00036                        apr_pool_t *pool);
00037 
00047 SOS_DECLARE(sul_error_t *)
00048 sos_vital_type_get_name(sos_vital_type_t **type, const char *name,
00049                         sos_fs_txn_t *txn, apr_pool_t *pool);
00050 
00060 SOS_DECLARE(sul_error_t *)
00061 sos_vital_type_get_key(sos_vital_type_t **type, sul_key_t identifier,
00062                        sos_fs_txn_t *txn, apr_pool_t *pool);
00063 
00073 SOS_DECLARE(sul_error_t *)
00074 sos_vital_type_get_key(sos_vital_type_t **type, sul_key_t identifier, 
00075                        sos_fs_txn_t *txn, apr_pool_t *pool);
00076 
00077 SUL_PEER_DECLARE(vitals);
00078 
00082 typedef struct sos_vital_t
00083 {
00084   sul_key_t identifier;
00085   char *name;
00086   sul_key_t node_id;
00087   sul_key_t type_id;
00088   sul_key_t status_id;
00089   sos_vital_type_t *type;
00090   sos_node_t *node;
00091   sos_status_t *status;
00092   char *note;
00093   char *description;
00094 } sos_vital_t;
00095 
00106 SOS_DECLARE(sul_error_t *)
00107 sos_vital_get(sos_vital_t **vital, const char *node, const char *name, 
00108               sos_fs_txn_t *txn, apr_pool_t *pool);
00109 
00118 SOS_DECLARE(sul_error_t *)
00119 sos_vital_get_all(apr_array_header_t **array, sos_fs_txn_t *txn, 
00120                   apr_pool_t *pool);
00121 
00131 SOS_DECLARE(sul_error_t *)
00132 sos_vital_get_group(apr_array_header_t **vitals, sul_key_t group_id,
00133                     sos_fs_txn_t *txn, apr_pool_t *pool);
00134 
00144 SOS_DECLARE(sul_error_t *)
00145 sos_vital_get_key(sos_vital_t **vital, sul_key_t identifier,
00146                   sos_fs_txn_t *txn, apr_pool_t *pool);
00147 
00157 SOS_DECLARE(sul_error_t *)
00158 sos_vital_get_node(apr_array_header_t **array, sul_key_t node_id,
00159                    sos_fs_txn_t *txn, apr_pool_t *pool);
00160 
00170 SOS_DECLARE(sul_error_t *)
00171 sos_vital_get_unhealthy(apr_array_header_t **array, apr_array_header_t *groups,
00172                         sos_fs_txn_t *txn, apr_pool_t *pool);
00173 
00186 SOS_DECLARE(sul_error_t *)
00187 sos_vital_get_unique(sos_vital_t **vital, const char *node,
00188                      const char *name, const char *type,
00189                      const char *status, sos_fs_txn_t *txn,
00190                      apr_pool_t *pool);
00191 
00200 SOS_DECLARE(sul_error_t *)
00201 sos_vital_save(sos_vital_t *vital, sos_fs_txn_t *txn, apr_pool_t *pool);
00202 
00213 SOS_DECLARE(sul_error_t *)
00214 sos_vital_touch(sos_vital_t *vital, sul_boolean_t changed,
00215                 const char *note, sos_fs_txn_t *txn, apr_pool_t *pool);
00216 
00217 SOS_DECLARE(sul_error_t *)
00218 sos_vitals_get_critical(apr_array_header_t **vitals, sos_fs_txn_t *txn,
00219                         apr_pool_t *pool);
00220 
00223 #endif

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